计算机数值之间的转换
1.1. 数值在计算机中的表现形式数值在计算机中的表现形式 计算机中采用二进制时由计算机所用的逻辑器件所决定的。 这种 逻辑器件是具有两种状态的电路(触发器),其好处是:运算简单、 实现方便、成本低。 计算机采用二进制数进行运算, 并可通过进制的转换将二进制转 换成人们熟悉的十进制,并在常用的转换中为了计算方便, 还会用到 八进制和十六进制的计数方法。 ◎ 十进制数十进制数 十进制数具有 10 个数字符号:0、1、2、3、4、5、6、7、8、9、 10 分别表示数值 0-10。 ◎ 二进制数二进制数 进制数只有 0,1 表示, 根据位权表示法,可以将二进制的位权 展开计算出相对应的十进制数: 例: (1011) 2=1*2 3+0*22+1*21+1*20=8+0+2+1=(11) 10 ◎ 八进制数八进制数 八进制数具有 8 个数字符号:0、1、2、3、4、5、6、7、8 分别 表示数值 0-8。计数时是按“逢 8 进一”原则的。这样,任何一个八 进制数的值都可以用它的按位权展开式来计算出对应的十进制数。 例:(650) 8=6*8 2+5*81+0*80=384+40+0=(424) 10 ◎ 十六进制数十六进制数 十六进制数具有 16 个数字符号:0、1、2、3、4、5、6、7、8、 9、A、B、C、D、E、F 分别表示十六进制数值 0-15。计数时是按“逢 16 进一”原则的。这样,任何一个十六进制数的值都可以用它的按 位权展开式来计算出对应的十进制数。 例:(3AB.12) 16=3*16 2+10*161+11*160+1*16-1+2*16-2=(939.0664) 10 十进制二进制十六进制十进制二进制十六进制 0 1 2 3 4 5 6 7 0000 0001 0010 0011 0100 0101 0110 0111 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1000 1001 1010 1011 1100 1101 1110 1111 8 9 A B C D E F ?不同进制数之间的 ?1.21.2 转换 ◎十进制化十进制化 二进制二进制 ⑴ 十进制整数:采用除 2 取余法 ⑵ 十进制小数:采用乘 2 取整法 ⑶ 带小数整数:以上两方法的结合 ⑷ 二进制化十进制:采用按权展开法 ◎二进制化二进制化 八进制八进制 ⑴ 二进制化八进制:采用三位分组法 ⑵ 八进制化二进制:采用扩展三位法 ⑶ 三位二进制数和八进制数码对照表 ◎二进制化二进制化 十六进制十六进制 ⑴ 二进制化十六进制:采用四位分组法 ⑵ 十六进制化二进制:采用扩展四位法 ◎二进制二进制 、八进制、八进制 、十六进制化、十六进制化 十进制十进制 采用按权展法 ◇ 例:将十进制数 83 转换成二进制数。 解:采用短除法计算 2| 83 ------余数:1 ←──二进制整数列的低位 2| 41 ------余数:1 2| 20 ------余数:0 2| 10 ------余数:0 2| 5 ------余数:1 2| 2 ------余数:0 1←─────────二进制整数列的低高 位 计算结果为二进制数:1010011 ◇ ) 10 =1×27+0×26+1×25+1×24+0×23+1×22+1×21+0×20= 182 ◇ 例;将十进制数 34567 转换成十六进制数。 解:仿照十进制数转换成二进制数,采用短除法计算 16| 34567 ------ 余数: 7 ←──第 0 位 16| 2160 ------ 余数: 0 ←──第 1 位 16| 135 ------ 余数: 7 ←──第 2 位 8 ←─────────第 3 位 ∴ 结果是一个 4 位十六进制数: 8707 ◇ 解:将此二进制数按每 4 位为一组分成 4 组 1101 1010 0110 0011 ↓↓↓↓ D A 6 3 查表得出 ∴ .不同进位制数之间的转换 十进制整数转换成二进制整数可以采取“除以 2 取余法”。 十进制小数转换成二进制小数,可以采取“乘以 2 取整法”,把给 定的十进制小数不断乘以 2,取乘积的整数部分作为二进制小数的最 高位,然后把乘积小数部分再乘以 2,取乘积的整数部分,得到二进 制小数的第二位,重复上述过程,就可以得到希望的位数,有时得到 的是近似值。八进制数转换成二进制数的方法很简单,只要把每一个 八进制数字改写成等值的 3 位二进制数即可,且保持高、低位的次序 不变。八进制数字与二进制数的对应关系如下: (0)8 =000 (1)8 =001 (2)8 =010 (3)8 =011 (4)8 =100 (5)8 =101 (6)8 =110 (7)8 =111 十六进制数转换成二进制数的方法与八进制数转换成二进制数的 方法类似,只要把每一个十六进制数字改写成等值的4 位二进制数即 可,且保持高、低位的次序不变。十六进制数字与二进制数的对应关 系如下: (0)16 =0000 (1)16 =0001 (2)16 =0010 (3)16 =0011 (4)16 =0100 (5)16 =0101 (6)16 =0110 (7)16 =0111 (8)16 =1000 (9)16 =1001 (A)16 =1010 (B)16 =1011 (C)16 =1100 (D)16 =1101 (E)16 =1110 (F)16 =1111 二进制数转换成八进制数,整数部分从低位向高位方向每3 位用 一个等值的八进制数来替换,最后不足3 位时在高位补 0 凑满 3 位;小 数部分从高位向低位方向每 3 位用一个等值的十六进制数来替换,最 后不足 3 位时在低位补 0 凑满 3 位。 二进制数转换成十六进制数,整数部分从低位向高位方向每4 位 用一个等值的十六进制数来替换,最后不足4 位时在高位补 0 凑满 4 位;小数部分从高位向低位方向每 4 位用一个等值的十六进制数来替 换,最后不足 4 位时在低位补 0 凑满 4 位。 二进制数与八进制数、十六进制数有很简单、直观的对应关系。 二进制数太长,书写、阅读、记忆均不方便;八进制、十六进制却像十 进制数一样简练,易写易记。必须注意,计算机中只使用二进制一种 计数制,并不使用其他计数制,但为了开发程序、调试程序、阅读机 器内部代码时的方便,人们经常使用八进制或十六进制来等价地表示 二进制,所以大家也必须熟练地掌握八进制和十六进制。 4.二进制信息的计量单位 二进制的每一位(即“0”或“1”)是组成二进制信息的最小单位, 称为 1 个“比特”(bit),或称“位元”,简称“位”,一般用小写的字母“b” 表示。比特是计算机中处理、存储、传输信息的最小单位。 另一种稍大些的二进制信息的计量单位是“字节” (Byte) , 也称“位 组”,一般用大写字母“B”表示。一个字节等于 8 个比特。 在信息处理系统中, 使用各种不同的存储器来存储二进制信息时, 使用的度量单位是比字节或字大得多,经常使用的单位有: “千字节”(KB),1KB=2 10 字节=1024B “兆字节”(MB),1MB=2 20 字节=1024KB “吉字节”