C语言基础:变量与运算符详解
1. 二进制表示与补码
计算机对于正数和可正可负的数采用不同的表示方法。以字节为单位,两种表示法都能让一个字节有256种不同的值。
- 正数表示法 :只能表示正数,取值范围是0到255。
- 补码表示法 :可表示正负数,取值范围是 -128 到 127。
补码计算示例
以数字9为例,其二进制表示为 00001001,求 -9 的补码步骤如下:
1. 翻转所有位,得到 11110110。
2. 结果加1,即 11110110 + 1 = 11110111。
同理,数字2的二进制是 00000010, -2 的补码为 11111101 + 1 = 11111110。
不同字节数的取值范围
| 字节数 | 有符号取值范围 | 无符号取值范围 |
|---|---|---|
| 1字节(8位) | -128 到 127 | 0 到 255 |
| 2字节(16位) | -32,768 到 32,767 | 0 到 65,535 |
| 4字节(32位) | -2,147,483,648 到 2,147,4 |
超级会员免费看
订阅专栏 解锁全文
862

被折叠的 条评论
为什么被折叠?



