首页 理论教育 无符号数的表示和运算

无符号数的表示和运算

时间:2023-11-16 理论教育 版权反馈
【摘要】:则有:可见,商为10101逻辑运算二进制数的逻辑运算包括“与”运算、“或”运算、“非”运算和“异或”运算。“异或”运算通常用符号“⊕”表示。

无符号数的表示和运算

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对应的二进制数,只需从右到左分别确定B0B1B2和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−1B−2B−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相“或”即可。

③“非”运算。“非”运算通常用符号“-”表示。运算规则为978-7-111-42233-4-Chapter01-14.jpg=1,978-7-111-42233-4-Chapter01-15.jpg=0。

例如:10110111,按位取反,结果是01001000。

④“异或”运算。“异或”运算通常用符号“⊕”表示。运算规则为0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0。例如:10100101⊕11001100,按位异或,则有:

可见,能用“异或”运算使某些数清零。例如:将10100110清零,只需将10100110和本身“异或”即可。

还可以用“异或”运算比较两个数是否相等。

例如:11101110⊕10111011≠0,所以11101110和10111011不相等。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈