C/C++学习日记:原码、反码和补码

本文介绍了计算机中整数的原码、反码和补码表示方式,重点讨论了补码的优势及其在加减运算中的应用。通过实例解释了补码如何简化计算过程,并说明了在C/C++编程中使用补码的重要性。
摘要由CSDN通过智能技术生成

一、什么是原码、反码和补码

我们知道,在计算机内部存储的带符号数都是以补码形式存储,用补码形式进行运算的。什么是一个数的补码?为什么要用补码?这要从数的原码、反码开始讲。我们以整型数为例,且假定字长为8位。

 

1、原码

整数X的原码是指:其符号位为0表示正,为1表示负;其数值部分就是X的绝对值的二进制数。X的原码通常用【X】原表示。如:

【+100】原=01100100 【+0】原=00000000

【-100】原=11100100 【-0】原=10000000

注意:在原码中,零有两种表示形式。

原码表示法简单易懂,与真值(带符号数本身)转换方便,只要符号还原即可,但当两个正数相减或不同符号数相加时,必须比较两个数哪个绝对值大,才能决定谁减谁,才能确定结果是正还是负,所以原码不便于加减运算。

2、反码

X的反码是指:对于正数,反码与原码相同;对于负数,符号位不变,其数值位X的绝对值取反(1变0,0变1)。X的反码通常用【X】反来表示。如

【+100】反=01100100 【+0】反=00000000

【-100】反=10011011【-0】反=11111111

注意:在反码中,零也有两种表示形式。

反码运算也不方便,通常用来作为求补码的中间过渡。

3、补码

X的补码是指:对于正数,补码与原码相同;对于负数,符号位不变,其数值位X的绝对值取反后在最低位加1。X的补码通常用【X】补来表示,实际上,【X】补=【X】反+1。如:

【+100】补=01100100 【+0】补=00000000

【-100】补=10011100 【-0】补=00000000</

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值