原码,反码,补码
来源:互联网 发布:淘宝闲鱼拍卖 编辑:程序博客网 时间:2024/06/04 23:18
今天突然发现自己对于负数的二进制的表示有点迷糊,吓得赶紧查了查资料,简单整理如下几点:
一,对与有符号的数而言
1,二进制的最高位是符号位:0表示正数,1表示负数,其余的位代表数值位,表示具体的二进制数值;
2,正数的原码,反码,补码都一样;
3,负数的反码 = 它的原码符号位不变,其他位取反(0->1,1->0);
4,负数的补码 = 它的反码 + 1;
5,在计算机运算时,都是以补码的方式来运算的;
6,大多数数字都是默认有符号的。
二,对于无符号的数而言
与有符号数的最大区别在于:二进制的最高位不是符号位,不再表示数的正负性,其二进制数全部表示具体的数。
例子: 计算1 + (-2)的值。(默认为有符号的,在32位机下)
(1)1的补码为就是其原码:0000 0000 0000 0001
(2)-2的补码 = 它的原码的反码+1
-2的原码:1000 0000 0000 0010
-2的反码:1111 1111 1111 1101
-2的补码:1111 1111 1111 1110
(3)1 + (-2) =
0000 0000 0000 0001
+ 1111 1111 1111 1110
= 1111 1111 1111 1111
设1 + (-2)的结果值为X。,则上式是X的二进制补码。
(4)X的首位是1,表示这是X是一个负数,补码不等于原码,需要从补码反求其原码
X的补码减一得X的反码:1111 1111 1111 1110
X的反码求反得X的原码:1000 0000 0000 0001
由此可以得出X的值为:-1,与1 + (-2) =(-1)的值相等。
2 0
- 原码、反码、补码
- 原码-反码-补码
- 原码、反码、补码
- 原码、反码、补码
- 原码,反码,补码
- 原码、反码、补码
- 原码、反码、补码
- 原码、反码、补码
- 原码、反码、补码
- 原码、反码、补码
- 原码、反码、补码
- 原码补码反码
- 原码、反码、补码
- 原码、反码、补码
- 原码、反码、补码
- 原码 补码 反码
- 原码、反码、补码
- 原码 反码 补码
- (摘抄笔记)从一道面试题看struct中的内存对齐
- 各种排序方法介绍
- 1622-5孔富晨 总结《2016年10月2日》【连续2天总结】
- mysql配置文件my.ini解析
- codeforces 722C Destroying Array 【线段树好题】
- 原码,反码,补码
- Epoll模型详解
- 405. Convert a Number to Hexadecimal
- JAVA对象锁与类锁
- 1-保护模式
- 动态规划基础题:低价购买(最长下降子序列)
- Nginx和Tomcat配合使用
- Spring框架核心技术--IOC容器
- stm32f芯片唯一ID的加密