原码、反码、补码、移码

1.符号数的表示

通常的做法是约定一个数的最高位为符号位,若该位为0则表示正数;若该1则表示负数

 

1

最高位表示符号位,数值部分用二进制绝对值表示

+11的原码:00001011-11原码:10001011

 

2

正数的反码和其原码形式相同,负数的反码是除符号位,其他各位逐位取反(0110

+11反码:00001011-11反码:11110100

 

3

正数的补码和其原码形式相同,负的补码是原码除符号位以外逐位取反(0110最后在末尾加1.

+11补码:00001011-11的补码11110101

补码转换为真值[[X]]=[X]

 

4码(码)

论正数、负数,在补码的基础上对符号位取反,一般用做浮点的阶码,引入的目的是为了保证浮点数的机器零0

+11补码:00001011-11的补码11110101

+11的移码:10001011-11的移码01110101

posted @   八英里  阅读(1164)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示