原码、反码和补码

本文介绍了原码、反码和补码的概念,其中原码最高位为符号位,反码是正数不变,负数数值部分取反,补码则是正数不变,负数数值部分取反加1。通过两个例子展示了补码运算过程,解释了如何进行减法操作并处理溢出。
摘要由CSDN通过智能技术生成

原码、反码和补码

一、什么是原码、反码和补码
  • 原码:原码是有符号数的原始表示法,即最高位为符号位,“0” 表示正,“1” 表示负,其余为数值部分。8 位二进制原码的表示范围为 1111 1111B ~ 0111 1111B(-127 ~ +127)。其中,原码 0000 0000B 与 1000 0000B 的数值部分相同,但符号位相反,它们分别表示 +0 和 -0。
  • 反码:正数的反码与其原码相同;负数的反码为:符号位不变,原码的数值部分各位取反。例如, 0000 0100B 的反码为 000 0100B,而 1000 0100B 的反码为 1111 1011B。+0 和 -0 的反码分别为 0000 0000B 和 1111 1111B。
  • 补码:正数的补码与其原码相同;负数的补码为:符号位不变,原码的数值部分各位取反,末位加 1(即反码加 1)。例如,原码 0000 0100B 的补码仍为 0000 0100B,而原码 1000 0100B 的补码为 1111 1100B。
二、补码运算
  1. 8 − 4 = 4 8 - 4 = 4 84=4
    [ 8 ] + [ − 4 ] [8]+[-4] [8]+[4]
    = [ 00001000 ] 原 + [ 10000100 ] 原 =[00001000]_{原}+[10000100]_{原} =[00001000]+[10000100]
    = [ 00001000
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值