
#include<stdio.h> main() {int a=077; printf("%d",~a); } 输出结果是什么....清给个详细过程....谢谢~~~
展开全部
更多追问追答
追问
哦哦~算a的数值的时候不用加上符号位是吧..
追答
在计算机系统中,数值一律用补码来表示
算a时也要用补码的形式表示,所以算a时要用上符号位,即使a符号位为0
展开全部
-64
以两个字节Int为例 win32位int 占四个字节 写起来太麻烦
a 是用符号整型变量 二进制存储八进制77 为 最高位为符号位为0000000000111111
~取反 后最高位为1111111111000000
因为负数在计算机内以补码形式存放
所以转回原码
先取反 但是符号位不变
1000000000111111
再加1
1000000001000000
十进制显示 为-64
以两个字节Int为例 win32位int 占四个字节 写起来太麻烦
a 是用符号整型变量 二进制存储八进制77 为 最高位为符号位为0000000000111111
~取反 后最高位为1111111111000000
因为负数在计算机内以补码形式存放
所以转回原码
先取反 但是符号位不变
1000000000111111
再加1
1000000001000000
十进制显示 为-64
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询