1 0 1 1 0 1 0 0 原码
1 1 0 0 1 0 1 1 反码,符号位不变,数值位取反
1 1 0 0 1 1 0 0 补码,符号位不变 , 数值位取反+1
故:[X]补=11001100B,[X]反=11001011B 。
(2) 已知补码,求原码 。
分析:按照求负数补码的逆过程,数值部分应是最低位减1,然后取反 。但是对二进制数来说 , 先减1后取反和先取反后加1得到的结果是一样的,故仍可采用取反加1 有方法 。
例:已知某数X的补码11101110B,试求其原码 。
解:由[X]补=11101110B知,X为负数 。
1 1 1 0 1 1 1 0 补码
1 1 1 0 1 1 0 1 反码(符号位不变 , 数值位取反加1)
1 0 0 1 0 0 1 0 原码(符号位不变 , 数值位取反)
关于补码的补充例子:
一个正的整数的补码就是这个整数变成二进制的值 。
举例:一个int型变量i=10,其二进制补码就是0000 0000 0000 0000 0000 0000 0000 1010(0x0000000A)
2. 一个负整数的二进制补码,就是该负数的绝对值所对应的补码全部取反后加1.
举例:int i=-10的补码如何求得:
先求-10的绝对值10的补码是0000 0000 0000 0000 0000 0000 0000 1010(0x0000000A);
再将求得的补码取反: 1111 1111 1111 1111 1111 1111 1111 0101
再将取反后得到的补码加1: 1111 1111 1111 1111 1111 1111 1111 0101 + 1
即可得到-10的二进制补码: 1111 1111 1111 1111 1111 1111 1111 0110(0xFFFFFFF6)
3. +0和-0的二进制补码都是0
首先+0的二进制补码是0;
-0的二进制补码是+0的二进制补码取反后加1,+0的二进制补码为0 , 取反后为FFFFFFFF,加1后还是0
原码和反码在数值0都有二意,唯有补码在数值0是唯一的码值!
c语言反码函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言反码补码、c语言反码函数的信息别忘了在本站进行查找喔 。
推荐阅读
- 微信里怎么看好友视频号,微信里怎么看好友视频号呢
- 海信电视背景墙壁纸怎么贴,海信电视壁纸设置在哪里
- 毕业设计计算书算错了,本科毕设计算错了能过吗
- 如何转战新媒体营销,转型新媒体
- php元素的数据类型 php常用数据类型的语法格式
- 包含华为b5-3ce能否升级到鸿蒙的词条
- 如何取消网页中的css,css取消按钮
- oracle索引结构,oracle的索引有几种,各有何用途
- linux写重启命令 linux重启语句