阅读 102

源码,反码,补码,补码转源码

在计算机内部补数1 .正数补数=反码=原码2 .负数根据原码求补数的注意符号位始终不变。

如果知道负数-8,则它表示原始代码是1000(1000 ),(1表示编码比特,1表示负数,0表示正数),而符号保持编码比特(1111 0111,),而其他位置保持逐比特(a )先进行- 1,1111 0111 (b ) b )反转)符号位保持原样,其他位置逐位反转),得到1000 ) 1000 ) )方法2 :注意:符号位保持原样! (a )该二进制数中的) 1111 1000 )逐比特反转除编码位之外的剩馀位置,得到1000 0111 (B ) 1,如果有1000 1000 4四进制的比特扩展编码数,则补充1 )的负数的前端一个

)2)正数前沿补0

无符号数扩展0前端补丁0

5 .在有符号数和无符号数的位运算c语言中,运算无符号数,包括逻辑运算和算术运算。 默认情况下,有符号数被视为无符号数进行运算。 其中,算术运算默认返回无符号数,逻辑运算当然返回0或1。

6 .样品char a、b、c; a=128; b=1; c=a b; printf('%LD(n ),sizeof ) ab ); printf('%LD(n ),sizeof(c ) c ); printf(%d(n ),c ); 结果: 4,1,-127分析:

)1) a和b都是1字节,但由于需要加法运算,所以自动变换为int型的数据,在结果出来后,再次变换为char型。 因此,a b的字节大小为4。

)其中,c的结果为-127的是a=128,因为知道其二进制存储器为1000,0000,最高有效位表示符号位,所以a实际上为-128,加1就是-127。


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐