原码 反码 补码
来源:互联网 发布:nginx反向代理tomcat 编辑:程序博客网 时间:2024/05/26 14:09
一般意义上的二进制:
二进制表示:00000001 00100011 01000101 01100111 10001001 10101011 11001101 11101111
对应数字: 01 2 3 4 56 7 8 9 1011 12 13 14 15
注:这是通常生活中所理解的二进制,但只能表示自然数,实际上这也就是无符号数的原码。
原码:
计算机中对数字的二进制表示。最高位为符号位,0表示正数,1表示负数。
二进制表示:0000000100100011010001010110011110001001101010111100110111101111
对应数字: 01 2 3 4 56 7 0 -1 -2-3 -4 -5 -6-7
注:原码可以表示任何整数,但存在两个问题。
1.正负数相加不为0,如1和-1的原码相加 0001+1001 = 1010,对应原码为-2。
2.存在两个0,即0000和1000。
为解决正负数相加不为0的问题,我们采用反码的表示方法。
反码:
正数表示与原码相同,负数是除去符号位各位取反。
二进制表示:0000000100100011010001010110011110001001101010111100110111101111
对应数字: 01 2 3 4 56 7 -7 -6 -5-4 -3 -2 -1-0
注:反码解决了原码中正负号相加的问题。如1和-1的反码相加,0001 + 1110 = 1111 = -0 =0。
但是存在两个0的问题依旧没有解决,所以我们需要用到补码。
补码:
正数表示与原码相同,负数是除去符号位各位取反,并且加1。
二进制表示:0000000100100011010001010110011110001001101010111100110111101111
对应数字: 01 2 3 4 56 7 -8 -7 -6-5 -4 -3 -2-1
(以上内容参考《C语言点滴》赵岩)
0 0
- 原码、反码、补码
- 原码-反码-补码
- 原码、反码、补码
- 原码、反码、补码
- 原码,反码,补码
- 原码、反码、补码
- 原码、反码、补码
- 原码、反码、补码
- 原码、反码、补码
- 原码、反码、补码
- 原码、反码、补码
- 原码补码反码
- 原码、反码、补码
- 原码、反码、补码
- 原码、反码、补码
- 原码 补码 反码
- 原码、反码、补码
- 原码 反码 补码
- Qt之设置窗口背景
- PPT幻灯中的文本格式及颜色修改方法注意事项
- Angularjs 初始化未加载完毕闪烁问题解决 ng-cloak
- Android为ListView的Item设置不同颜色背景
- 字符串的拷贝
- 原码 反码 补码
- ZeroClipboard插件实现复制功能(兼容各大浏览器)
- 301. Remove Invalid Parentheses
- 某大学数据恢复报告
- Hbase学习1_CentOS6.5下Hbase1.1.2安装
- Solr功能应用
- 浅析Hibernate映射(一)——基本映射
- Python3.4 垃圾清理(GUI)
- Spring <context:annotation-config/> 解说