上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.2.1 无符号整数和带符号整数
当一种编码的所有二进位都用来表示数值而没有符号位时,该编码表示的就是无符号整数。此时,默认数的符号为正,故无符号整数即为正整数或非负整数。
一般在不出现负值结果的场合下使用无符号整数。例如,可用无符号整数进行地址运算或表示指针、下标等。通常把无符号整数简称为无符号数。
由于无符号整数节省了一位符号位,因此在字长相同的情况下,它能表示的最大数比带符号整数所能表示的最大数大,例如,8位无符号整数的形式为0000 0000~1111 1111,对应的数的取值范围为0~(28-1),即最大数为255,而8位带符号整数的最大数是127。
带符号整数也称为有符号整数,它必须用一个二进位表示符号。虽然前文介绍的原码、补码、反码和移码都可用于表示带符号整数,但是,补码表示法有其突出的优点,因而,现代计算机中带符号整数都用补码表示。n位带符号整数表示范围为-2n-1~(2n-1-1)。例如,8位带符号整数表示范围为-128~+127。