十进制转二进制为什么有时会存在误差

如题所述

1、我们要知道十进制转二进制为什么会有误差,我们首先要知道十进制和二进制的概念是什么?

我们把无穷的时间按照12进制去用符号来划分,进制就像用有限的数字去划分无限的实数,十进制就是从无到有从小到大用十个数字来标记实数,二进制就是从无到有从小到大用两个数字来标记实数。

因为数是无穷大和无穷小的,是没有实体的,那我们先设一个x坐标系,中点为O,O的的坐标为0代表数字0,那么这个坐标就可以包含所有的实数,因为数是无穷的,但是符号是有限的,十进制即时以十个符号来囊括所有的实数,二进制则是以两个符号来囊括所有的实数。

2、那么,有了以上概念,我们再来用十进制理解什么是二进制?

数字从0到9,9成了单个符号中最大的数字,那要表示更大的数字怎么办呢?就只能加权,就是说在9再往上就成了10,因为1所在的位置代表比9大一个单位的位权,也就是10的一次方,然后又是0-9的从小到大的循环,到了19再进一位,也就是20,即在10的位置再加一个10,也就是10的二次方,以此类推

我们很容易知道,当我们用两个符号来表达所有的实数时,1是最大的数,要表达比1更大的数同样加权,就是10(一零)也就是1所在的位置代表比右边的1的位置更大,也就是2的1次方,因为我们有十进制的概念,所以称这个概念为2的一次方,如果我们只有二进制的概念,那我们只能称其为10(一零)的一次方,10(一零)的10(一零)次方,也就是十进制的2的2次方,10的11次方也就是十进制的2的三次方。

所以,同样的数字,因为符号的使用不一样,表达方式不一样,1 、2、3、4、5、6、7、8、9、10换成二进制的世界就是1、10、11、100、101、110、111、1000、1001、1010

3、小数的概念就是位权减小,在零到一之间需要一个比1小,比零大的数字

根据整数位权变大的理论,我们同理类推,在小数部分,因为一个整数是在十进制的定义里是可以平分分成10的n次方等分的,例如0.9再加一个0.1,就成了1,因为1的位权比0.9的位权更大一轮,那么在二进制的世界里如果0.1再加一个0.1呢,那它是不是就等于1了呢,所以,二进制的定义里一个整数是只能平分成2的n次方的,那我们很容易发现,在二进制的概念里,所有的小数都是以2n次方为分母的,但是因为二进制最大的数是1,且分子不能为0,所以,很容易发现,二进制小数只能表达相差二分之一的n次方的数,但是十进制表达的却是间隔为十分之一的n次方的数,也就是说,只有在十进制的数刚好是5的倍数的时候,二进制的小数表达式才会和十进制的小数表达式重合,如果不是5的倍数,那么,就会像0.9999的无限循环一样不能表达,也就是存在误差。

不过,我们可以和十进制的无理数一样,设置一个二进制的无理数的定义,只是没有这个必要而已

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-19
十进制整数转换成二进制整数,通常,不存在误差。

十进制小数转换成二进制小数,有时,是循环小数,舍入后,就有误差。本回答被网友采纳
第2个回答  2015-09-04
只有小数10转2时存在误差,不是所有的十进制小数能完全转换成二进制小数的,如:
0.3d 约为 0.01001100...
整数10转2不会有误差!本回答被网友采纳
相似回答