1.无符号数的表示法
(1)十进制数的表示法
十进制计数法的特点是:
①以10为底,逢10进位。
②需要10个数字符号0,1,2,…,9。
一个十进制数ND可以表示为如下形式:
式中,m表示小数位的位数,n表示整数位的位数,Di为十进制数字符号0~9。
例如:246.8D=2×102+4×101+6×100+8×10−1
上式中的后缀D表示十进制数(Decimal),但D可以省略。
(2)二进制数的表示法
二进制计数法的特点是:
①以2为底,逢2进位。
②需要2个数字符号0,1。
一个二进制数可以表示为如下形式:
例如:1010.1B=1×23+0×22+1×21+0×20+1×2−1
上式中后缀B表示二进制数(Binary)。
(3)十六进制数的表示法
十六进制计数法的特点是:
①以16为底,逢16进位。
②需要16个数字符号0,1,2,…,9,A,B,C,D,E,F。其中A~F依次表示10~15。
一个十六进制数可表示为如下形式:
例如:C4BF.2BH=12×163+4×162+11×161+15×160+2×16−1+11×16−2。
上式中后缀H表示十六进制数(Hexadecimal)。
2.数制转换
(1)任意进制数转换为十进制数
二进制、十六进制、乃至任意进制的数转换为十进制数,按式(1-2)、式(1-3)等展开求和即可。
(2)十进制数转换为二进制数
①十进制整数转换为二进制整数。任何一个十进制数转换为二进制数后,都可以表示成为式(1-2)的形式。问题的核心在于求出n及Bi。
下面通过一个简单的例子分析一下转换的方法。例如:
上式也可以表示为
可见,要确定13D对应的二进制数,只需从右到左分别确定B0、B1、B2和B3即可。显然,从上式可以归纳出以下转换方法,用2连续去除十进制数,直至商等于零为止。逆序排列余数便得到与该十进制相应的二进制数各位的数值。过程如下:
所以13D=1101B。
用与此类似的方法可以完成十进制数至十六进制数的转换,不同的是用16连续去除而已。
②十进制小数转换为二进制小数。根据式(1-2),则有:(www.xing528.com)
0.8125D=B-1×2−1+B×2−2+B-3×2-3+B-4×2−4
=2−1×{B−1+2−1×[B−2+2−1×(B−3+2−1×B−4)]}
由上式可以看出,十进制小数转换为二进制小数的方法是,连续用2去乘十进制小数,直至乘积的小数部分等于“0”。顺序排列每次乘积的整数部分,便得到二进制小数各位的系数B−1,B−2,B−3,…。若乘积的小数部分永不为“0”,则根据精度的要求截取一定的位数即可。0.8125D的转换过程如下:
0.8125D×2=1.625 得出B−1=1
0.625D×2=1.25 得出B−2=1
0.25D×2=0.5 得出B−3=0
0.50D×2=1.0 得出B−4=1
所以,0.8125D=0.1101B。
(3)二进制数与十六进制数之间的转换
因为24=16,故二进制数转换为十六进制数只需以小数点为起点,向两端每4位二进制数用1位十六进制数表示即可。例如:
二进制数书写冗长易错,因此一般用十六进制表示一个数,这样比较简洁、方便。
3.二进制数的运算
(1)二进制数的算术运算
一个数字系统只要能进行加法和减法运算,就可以利用加法和减法进行乘法、除法及其他数值运算。
①加法。运算规则为0+0=0,0+1=l+0=1,1+1=10(逢2进1)。例如:1110+1010,从最低位开始将被加数与加数逐位相加,则有:
②减法。运算法则为0-0=1-1=0,1-0=l,0-l=1(0减1不够减,从高位借l作为2,相当于2-1=1)。例如:1110-1001,从最低位开始将被减数与减数逐位相减,则有:
③乘法。运算规则为0×0=0,0×1=1×0=0,1×1=1。
例如:1011×1101,用乘数各位分别乘被乘数后求和,则有:
④除法。运算法则为0÷1=0,l÷1=l。例如:11100111÷1011,其中11100111为被除数,1011为除数。则有:
可见,商为10101
(2)逻辑运算
二进制数的逻辑运算包括“与”运算、“或”运算、“非”运算和“异或”运算。
①“与”运算。“与”运算通常用符号“∧”(或“&”)表示。运算规则为0∧0=0,1∧0=0,0∧l=0,1∧1=l。例如:10110101∧10001001,按位相与,则有:
可见,能用“与”运算保留一些位,而屏蔽掉另一些位。例如,将10101010的低4位保留,而高4位屏蔽掉,则只需将10101010和00001111相“与”即可。
②“或”运算。“或”运算通常用符号“∨”(或“|”)表示。运算规则为0∨0=0,0∨1=1,l∨l=1。例如:11110011∨10011111,按位相或,则有:
可见,能用“或”运算使一些位不变,而使另一些位置1。例如:将01010101的高3位不变,而低5位置1,则只需将01010101和00011111相“或”即可。
③“非”运算。“非”运算通常用符号“-”表示。运算规则为=1,=0。
例如:10110111,按位取反,结果是01001000。
④“异或”运算。“异或”运算通常用符号“⊕”表示。运算规则为0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0。例如:10100101⊕11001100,按位异或,则有:
可见,能用“异或”运算使某些数清零。例如:将10100110清零,只需将10100110和本身“异或”即可。
还可以用“异或”运算比较两个数是否相等。
例如:11101110⊕10111011≠0,所以11101110和10111011不相等。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。