zoukankan      html  css  js  c++  java
  • 原码,反码,补码

    原码:二进制带有符号位,最高位0表示正,最高位位1表示位负

    反码:正数的反码等于原码,负数的反码等于原码符号为不变其他位取反加1

    补码:正数的补码等于原码,负数的补码等于反码+1

    举例
    5(byte类型)的原码,反码,补码
    原码:00000101
    反码:00000101
    补码:00000101

    -3(byte类型)的原码,反码,补码
    原码:10000011
    反码:11111100
    补码:11111101

    为什么要有补码:
    方便计算机底层进行计算,计算机只有加法器,例如上述的5-3会转化成加法5+(-3),而补码的意义就是负数参与加法运算的时候用补码表示,例如上述5+(-3)的结果是2

    byte范围:
    最大值:01111111 2^7 -1
    最小值:10000000 -2^7
    可能会有疑问10000000不是-0吗,00000000就是+0,为了避免0有正0和负0之分,规定10000000表示负数的最小值-2^7

    最后牢记:
    补码参与运算!!!
    原码表示大小!!!

  • 相关阅读:
    C语言I博客作业04
    C语言I博客作业03
    C语言1博客作业02
    作业1
    C语言||作业01
    C语言寒假大作战04
    C语言寒假大作战03
    C语言寒假大作战02
    C语言寒假大作战01
    笔记本
  • 原文地址:https://www.cnblogs.com/kundeg/p/8544561.html
Copyright © 2011-2022 走看看