无符号整数的机器级表示与算术运算(没写完)
无符号整数的机器级表示
计算机是通过二进制位存储和传输数据的。虽然这些二进制位适合表示二进制数,但还是有一定区别,比如寄存器和总线的位数通常是固定的,另外对于负号、小数点、分数等等都不能直接表示,需要规定一些规则计算机才能处理。这些规则中,最简单的就是对无符号整数的表示,无符号整数顾名思义就是没有符号的整数,也就是自然数。这种表示和数学上的表示几乎没有区别,只需要预先规定好占用的位数,并且需要高位补0,比如在4位无符号整数表示下,3要写作0011,而3对应的二进制数是11。 一般的k位无符号整数,能表示的十进制数范围是闭区间的\([0,2^k–1]\)。
无符号整数的加法
之前讨论行波进位加法器时,没有规定如何处理最低位进位输入、最高位进位输出,这里规定为“忽略最高位进位的输出,最低位进位输入始终保持0”。当两个\(k\)位无符号整数码输入到\(k\)位加法器(\(k\)个1位加法器组成的行波进位加法器),若结果未超出\(k\)位,那么加法器的输出就是正确的和。但若超出\(k\)位(两个\(k\)位无符号整数码经过加法器最多只能超出1位),则加法器会忽略掉最高位的进位,剩下的\(k\)位才是最终输出,这种情况称为加法器的溢出,可通过余数描述。在这种规定下,这种\(k\)位加法器就能做\(k\)位无符号整数码的加法,具体这样描述:… 阅读全文