无符号整数在计算机中的应用
无符号整数即"自然数",0、1、2、3、4...
无符号整数,在计算机硬件内如何表示?
无符号整数的加法,减法运算是用硬件怎么实现的?
无符号整数的表示
比如: 机器字长8位,该计算机硬件能支持的无符号整数位上限8位,通用寄存器只能存8位,最多只能同时进行8位运算
无符号整数:
1.全部二进制都是数值位,没有符号位,第i位的位权是2^i-1
2.n bit无符号表示整数表示范围0~2^n-1,超出则溢出,意味着该计算机无法一次处理这么多
3.可以表示最小的数全0,可以表示最大的数全1
无符号整数的加法运算
A : 99 -> 二进制 : 01100011
B : 9 -> 二进制 : 00001001
A + B = 108 -> 二进制 : 01101100
计算机硬件如何做无符号整数的加法: 从最低位开始,按位相加,并往更高位进位
无符号整数的减法运算
A : 99 -> 二进制 : 01100011
B : 9 -> 二进制 : 00001001
A - B = 90 -> 二进制 : 01011010
计算机硬件如何做无符号整数的减法:
-
被减数不变,减数全部位按位取反,末位+1,减法变加法
-
从低位开始,按位相加,并往更高位进位