首页 > 编程知识 正文

补码相加符号位怎么确定,补码必须有符号位吗

时间:2023-05-03 07:02:03 阅读:214290 作者:228

补码与符号位

计算机数据的存储使用二进制补码形式存储,并且最高位是符号位,1是负数,0是正数。

规定:正数的补码与反码、原码一样,称为三码合一;

​ 负数的补码与反码、原码不一样:

​ 负数的原码:把十进制转为二进制,然后最高位设置为1

​ 负数的反码:在原码的基础上,最高位不变,其余位取反(0变1,1变0)

​ 负数的补码:反码+1

例如:byte类型(1个字节,8位)

25 ==> 原码 0001 1001 ==> 反码 0001 1001 -->补码 0001 1001

-25 ==>原码 1001 1001 ==> 反码1110 0110 ==>补码 1110 0111

底层是用加法代替减法:-128==》-127-1==》-127+(-1)

​ -127- -1 ==> -127 + 1
用补码加减

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。