十进制小数为什么无法以二进制表示

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
进制 一位八进制数字可以用三位二进数来表示,一位十六进制数可以用四位二进数来表示,所以二进制和八进制、 十六进制间的转换非常简单
如:将(1010111.01101)2转换成八进制数
1010111.01101=001 010 111. 011 010
↓ ↓ ↓ ↓ ↓
1 2 7 3 2
所以(1010111.011.1)2=(127.32)8
将(327.5)8转换为二进制 3 2 7. 5 ↓ ↓ ↓ ↓ 011 010 111. 101 所以(327.5)8=(11010111.101)2 将(110111101.011101)2转换为十六进制数 (110111101.011101)2=0001 1011 1101. 0111 0100 ↓ ↓ ↓ ↓ ↓ 1 B D 7 4 所以(110111101.011101)2=(1BD.74)16
+8+0+32+64+0=107. 二进制01101011=十进制107.
一、二进制数转换成十进制数 由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求 和。这种做法称为"按权相加"法。
二、十进制数转换为二进制数 十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别 转换后,再加以合并。 1. 十进制整数转换为二进制整数 十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2去除十进制整数,可以得到一个 商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为 二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
将(27.FC)16转换成二进制数 2 7. F C ↓ ↓ ↓ ↓ 0010 0111 1111 1100
所以(27.FC)16=(100111.111111)2 二进制表示 原码:每一位表示符号 反码:正数同原码,负数除符号外其它位相反 补码:正数同原码,负数除符号外,反码+1得到 地址总线: 地址总线宽度决定了CPU可以访问的物理地址空间,简单地说就是CPU到底能够使用多大容量的内存 8位地址总线:一个8位的二进制数最多能表示2的8次方个数据,从00000000到11111111,十进制为0-255,这 样,8位地址总线最大能区分的地址是从0到255。我们说他的寻址能力为256, 即256字节 16位地址总线:64K 20位: 1M 32位: 4G 上面是不同地址总线,能访问的物理内存。注意:计算时,如16位地址总线的寻址能力不是16个1组成的二进 制数的结果,而是要再加上1,因为前面有个00000000000000000 即2的16次方, 而16个1组成的二进制数为2的16次方减1
二进制转十进制 从最后一位开始算,依次列为第0、1、2...位 第n位的数(0或1)乘以2的n次方 得到的结果相加就是答案 例如:01101011.转十进制: 第0位:1乘2的0次方=1 1乘2的1次方=2 0乘2的2次方=0 1乘2的3次方=8 0乘2的4次方=0 1乘2的5次方=32 1乘2的6次方=64 0乘2的7次方=0 然后:1+2+0
2 6 . 1 4 即:(10110.011)2 =(26.14)8 3.十六进制与二进制的转换<BR>例:将十六进制数5DF.9 转换成二进制: 5 D F . 9 0101 1101 1111.1001 即:(5DF.9)16 =(10111011111.1001)2
例:将二进制数1100001.111 转换成十六进制: 0110 0001 . 1110 6 1 . E 即:(1100001.111)2 =(61.E)16
总结:二进制 除了结尾为5、0的数,所有小数都是无穷位数的,因为按照二进制转10进制的方式,所有这类 小数都是乘不尽的。如 0.4*2=0.8 --------0 0.8*2=1.6 --------1 0.6*2=1.2 --------1 0.2*2=0.4 --------0 0.4*2=0.8 --------0 ... 如此往复循环,最终只能取约值,因此计算机的有效位数是一定的,是无法与人脑相比的,人可以自由的转换 在2进制、8进制、10进制、16进制甚至3进制等等。
1.二进制与十进制的转换 (1)二进制转十进制<BR>方法:"按权展开求和" 例: (1011.01)2 =(1×23+0×22+1×21+1×20+0×2-1+1×2-2)10 =(8+0+2+1+0+0.25)10 =(11.25)10
(2)十进制转二进制
· 十进制整数转二进制数:"除以2取余,逆序输出" 例: (89)10=(1011001)2 2 89 2 44 …… 1 2 22 …… 0 2 11 …… 0 2 5 …… 1 2 2 …… 1 2 1 …… 0 0 …… 1 · 十进制小数转二进制数:"乘以2取整,顺序输出" 例: (0.625)10= (0.101)2 0.625 X 2 1.25 X 2 0.5 X 2 1.0 2.八进制与二进制的转换 例:将八进制的37.416转换成二进制数: 37 . 4 1 6 011 111 .100 001 110 即:(37.416)8 =(11111.10000111)2 例:将二进制的10110.0011 转换成八进制: 0 1 0 1 1 0 . 0 0 1 1 0 0
2.十进制小数转换为二进制小数 十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将 积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中 的小数部分为零,或者达到所要求的精度为止。 然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效 位。 =============================================================
其他:
十进制转二进制: 用2辗转相除至结果为1 将余数和最后的1从下向上倒序写 就是结果 例如302 302/2 = 151 余0 151/2 = 75 余1 75/2 = 37 余1 37/2 = 18 余1 18/2 = 9 余0 9/2 = 4 余1 4/2 = 2 余0 2/2 = 1 余0 故二进制为100101110
二进制转十进制,十进制转二进制的算法 位(bit) 一位二进制数,又称比特 字节(byte) 1B = 8b 内存存储的最小单元 字长:同一时间内,计算机能处理的二进制位数 字长决定了计算机的运算精度,字长越长,计算机的运算精度就越高。因此,高性能的计算机,其字长较长, 而性能较差的计算机,其字长相对要短一些。 其次,字长决定了指令直接寻址的能力。一般机器的字长都是字节的1、2、4、8倍。微机的字长为8位、16 位、32位、64位,如286机为16位机,386和486是32位机,最新推出的PIII为64位高档机。 字长也影响机器的运算速度,字长越长,运算速度越快。 字:是计算机中处理数据或信息的基本单位。一个字由若干字节组成,通常将组成一个字的位数叫做该字的字 长。
相关文档
最新文档