#include <stdio.h>
int main() {
int a, b; // 声明两个整数变量 a 和 b
while (scanf("%d%d", &a, &b)) // 循环读取两个整数
printf("%d\n", a + b); // 输出它们的和
return 0; // 程序正常结束
}
在C语言中,非零即真
但若读取失败(例如,输入非整数或到达文件末尾),则返回值为 0 或 EOF,循环结束
二进制中,最高位(符号位)有两个用处,第一个是它也有用(也参与运算),第二个是它能帮助我们判断正数还是负数
有符号整数的表示
在计算机中,有符号整数通常使用 补码 表示。补码的规则如下:
- 正数的补码与其原码相同
- 负数的补码是 其绝对值的原码 取反后 加 1
计算负数的补码
如果你有一个二进制数,其最高位为 1,表示这是一个负数。要计算这个负数的十进制值,可以按照以下步骤进行:
- 取反:将所有位取反(0 变 1,1 变 0)
- 加一:在取反后的结果上加 1
- 转换为十进制:将得到的二进制数转换为十进制,并加上负号
如果是求负数的二进制数字
那么就先求其绝对值的二进制数,取反然后加1就行了
Comments NOTHING