二进制无符号整数是一种数据类型,其特点如下:
非负性 无符号整数只能表示非负整数(即0和正整数),不能表示负数。所有二进制位均用于表示数值大小。
表示范围
对于n位的无符号整数,其表示范围为 0 到 2ⁿ - 1。例如:
- 8位无符号整数范围:0 到 2⁸ - 1(即0到255);
- 16位无符号整数范围:0 到 2¹⁶ - 1(即0到65535)。
与有符号整数的区别
有符号整数通过最高位(符号位)区分正负,其余位表示数值。例如:
- 8位有符号整数范围:-128 到 +127(二进制最高位为符号位);
- 8位无符号整数范围:0 到 255(全部位表示数值)。 两者字节数相同,但可表示的数值范围不同。
应用场景
无符号整数常用于需要明确表示非负数的场景,例如:
- 计算机图形学中的颜色值(0-65535);
- 存储设备中的像素索引;
- 网络协议中的数据包长度。
示例:
二进制数 `0000 0000` 表示无符号整数0;
二进制数 `1111 1111` 表示无符号整数255;
二进制数 `1000 0000` 表示有符号整数-128(8位有符号整数)。