⼆进制正负数的表⽰⽅式:原码,反码,补码⼆进制正负数的表⽰⽅式:原码,反码,补码
今天学习汇编语⾔标志寄存器那⼀节,关于正负,忽然发现这个当初学的已经忘记了,特地来记录复习⼀下。
原码:最普通的⼆进制数字
反码:对源码取反
补码:反码的基础上加上1
数据类型分为:有符号,⽆符号。
⽆符号类型全都是正号。
有符号类型存在正负,所以最⾼位就要拿出来,如果为0表⽰该数字为正,为1表⽰该数字为负。
负数应该如何表⽰呢?
负数的绝对值->源码->补码->反码->表⽰负数。
⽐如-1:
源码: 0000 0001
反码: 1111 1110
补码: 1111 1111
这个就表⽰-1,因为为有符号类型,那么最⾼位为1⾃然表⽰是负数。
要的到其值就“减⼀取反”即可。
就是这个样⼦,很简单!
为什么负数这么表⽰?
因为 你在进⾏正负计算时,可以直接相加对于负数运算,⽽不⽤再去转换成负数了!
⽐如
-1 1111 1111
1 0000 0001
直接相加后的结果
1 0000 0000
最⾼位溢出忽视,那么结果就是0,计算正确。补码的最小负数
⽽你不⽤再把-1的补码还原成相关的值,这种操作是你要明确的。
这对计算机的运算⼤⼤的有利
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论