关于补码运算符
来源:3-6 运算符表达式和基本语句--位运算符
weixin_慕瓜2550733
2021-02-21
int A= 60
二进制表示为
0011 1100
cout<<~A<<endl;
之后为什么会变成-61了
二进制表示:1100 0011
如果最高位为符号位,1为负0为正
那么十进制的255 对应1111 1111不应该是负数吗?
写回答
1回答
-
你得先明确一下是几个字节的表示。计算机int型一般32位,4字节:
60 是 0000 0000 0000 0000 0000 0000 0011 1100;
-61是 1111 1111 1111 1111 1111 1111 1100 0011;
255是 0000 0000 0000 0000 0000 0000 1111 1111 ;
00
相似问题