6、C 语言基础:变量与运算符

C 语言基础:变量与运算符

1. 二进制表示法与补码

在计算机中,有多种方式用二进制表示数字。“字节与位”部分提到的字节计算方法适用于表示非负整数(无符号整数)。而当需要表示可能为正或负的整数时,计算机采用补码表示法。

要使用补码表示负数,可按以下步骤操作:
1. 从该数正数版本的二进制表示开始。
2. 对所有位取反(将 1 变为 0,0 变为 1)。
3. 将结果加 1。

例如,数字 9 的二进制表示是 00001001。要表示 -9,先对其位取反得到 11110110,然后加 1,结果为 11110111。数字 2 的二进制表示是 00000010,-2 的补码是 11111101 + 1 = 11111110。

计算机对非负整数和可正可负的整数使用不同的表示法,但两种表示法都允许一个字节有 256 种不同的值。无符号方案允许值的范围是 0 到 255,补码方案允许的范围是 -128 到 127。

不同字节数的存储范围如下表所示:
| 字节数 | 有符号范围 | 无符号范围 | 可能的值数量 |
| ---- | ---- | ---- | ---- |
| 1 字节(8 位) | -128 到 127 | 0 到 255 | 256 |
| 2 字节(16 位) | -32,768 到 32,767 | 0 到 65,535 | 65,536 |
| 4 字节(32 位) | -2,147,483,648 到 2,147,483,647 | 0 到 4,294,967,295 | 4,294,967,296 |

若要声明无符号变量,可在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值