原码 反码 补码

主要内容

  • 数据的常见分类

  • 机器数和机器数的真值

  • 原码

  • 反码

  • 补码

  • 拓展知识:为什么需要反码和补码

数据的简单分类

数据分类

机器数和机器数的真值

在计算机中所有的数据数都是由二进制保存的;

在机器数中,使用最高位来表示数字的正负;1为负,0位正

一个字长位8位a

机器数真值就是机器数所对应的真正的数值;

如1000 1101 =-13

0000 0011=3

原码

首先确定一个数的正负,如果是正数,首位用0表示。如果是负数首位使用1表示

有效位:真值的绝对值转化位二进制

将符号位和有效位拼接到一起;

反码

正数;正数的反码和原码相同

负数;符号位不变其余各位直接取反二进制只有两种状态 0-->1,1-->0

补码

正数:正数原码反码补码全部相同

负数:首先求得原码,在求反码,在最后一位+1

为什么需要反码和补码

反码:在设计计算机的时候设计了加法器,没有减法器,边用加法计算来表示减法,但是会出现正负相加0的表示不唯一

补码:反码解决了没有减法器的问题,但是会出现正负相加0的表示不唯一,使用补码进行修正

补码转原码

正数:原码=补码=反码

负数:补码的补码(把负数当成原码再求补码即可)

首位不变,其余取反再+1

反码转原码

正数:不用转

负数:首位不变,其余取反

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容