(一)进位计数制
-
计算机中的数据以二进制表示
-
地址的计算常用十六进制表示
(二)进制转换(重要)
1、十进制转为二进制
-
整数部分和小数部分分开计算,整数部分用“除2取余法”,小数部分用“乘2取整法”。一直乘到小数部分为零为止一般有位数限制
-
例:123.45(D)≈ 1111011.0111(B)
2、十进制转为八进制、十六进制进制
-
除#取余法(#为对应的基数)
3、二进制、八进制、十六进制转为十进制
-
按位权展开法
4、二进制、八进制、十六进制之间相互转换
-
1位八进制对应3位二进制
-
1位十六进制对应4位二进制
(三)二进制运算规则(对于一个字节)
-
加法:逢二进一。例:0000 1111 + 0000 0001 = 0001 00000(H)
-
减法:借一为二
-
乘法:同一为一,否则为零
-
除法:分母不为零
(四)机器数与码制
1、机器数
(1)定义
是数据在计算机中的表示,采用二进制计数制
(2)分类:有符号、无符号
无符号:正数。没有符号位,只有数值位
有符号:最高位为符号位,表示数值的正负,其他位为数值位
(3)纯整数、纯小数
纯整数:小数点在机器数最低数值位之后的数
纯小数:小数点在机器数最高数值位之前的数
2、码制(编码方法)
-
有符号的机器数可采用原码、反码、和补码等不同的编码方法
(1)原码
例:如果机器字长n等于8,则
+1 = 0000 0001 -1 = 1000 0001 +127 = 0111 1111 -127 = 1111 1111 +0.5 = 0.100 0000 -0.5 = 1.100 0000 +66 = 0100 0010 -66 = 1100 0010 +0 = 0000 0000 -0 = 1000 0000
(2)反码
正数的反码与原码相同,负数的反码则是其绝对值按位取反(也就是除符号位按位取反)
+1 = 0000 0001 -1 = 1111 1110 +127 = 0111 1111 -127 = 1000 0000 +0.5 = 0.100 0000 -0.5 = 1.011 1111 +66 = 0100 0010 -66 = 1011 1101 +0 = 0000 0000 -0 = 1111 1111
(3)补码 [X]补
正数的补码与原码相同,负数的补码则等于其反码加1
只有在补码中,0有唯一的编码
负数的补码取反再加一得到负数的原码
+1 = 0000 0001 -1 = 1111 1111 +127 = 0111 1111 -127 = 1000 0001 +0.5 = 0.100 0000 -0.5 = 1.100 0000 +66 = 0100 0010 -66 = 1011 1110 +0 = 0000 0000 -0 = 0000 0000
(4)移码 [X]移
在数X上增加一个偏移量来定义的,常用于表示浮点数中的阶码
如果机器字长为n,在偏移2n-1的情况下,只要将补码的符号位取反便可获得相应的移码表示
+1 = 1000 0001 -1 = 0111 1111 +127 = 1111 1111 -127 = 0000 0001 +0.5 = 1.100 0000 -0.5 = 0.100 0000 +66 = 1100 0010 -66 = 0011 1110 +0 = 1000 0000 -0 = 1000 0000
补码的作用是将减法转换成加法并统一0的表现形式