zoukankan      html  css  js  c++  java
  • 认识原码、反码、补码

    01 进制了解

    • 二进制:由0和1共两个数字组成。

    • 八进制:由0-7共八个数字组成。

    • 十进制:由0-9共十个数字组成。

    • 十六进制:由0-9与A-Z(a-z)共十六个字母和数字组成(字母不区分大小写,A-F/a-f分别代表10-15)

    02 二进制与八进制对应关系

    二进制 八进制
    0 000
    1 001
    2 010
    3 011
    4 100
    5 101
    6 110
    7 111

    03 二进制与十六进制转换

    二进制 十六进制
    0 0000
    1 0001
    2 0010
    3 0011
    4 0100
    5 0101
    6 0110
    7 0111
    8 1000
    9 1001
    A 1010
    B 1011
    C 1100
    D 1101
    E 1110
    F 1111

    字母不区分大小写

    04 原反补的概念

    • 原码:二进制的表现形式

    • 反码:是原码和补码之间的转换关系

    • 补码:二进制的存储形式

    05 原反补转换规律

    • 如果是一个正数:原码 = 反码 = 补码
    • 如果是一个负数:原码与反码之间互为取反加1

    06 原反补的特点

    • 原码第一位是符号位,用来表达正负
      • 第一位是0,如000 ... 001 表示数字为正1
      • 第一位是1,如100 ... 001 表示数字为负1
    • 补码特点
      • 正数高位都是0
      • 负数高位都是1
    • 反码特点 :二进制码0变1,1变0叫做反码

    07 例1 两正相加

    2 + 3
    2                        3
    原码:000 ... 010        原码:000 ... 011
    反码:000 ... 010        反码:000 ... 011
    补码:000 ... 010        补码:000 ... 011
    
    000 ... 010
    000 ... 011
    000 ... 101 => 5 (正数 原码 = 反码 = 补码)
    

    08 例2 一正一负相加

    -9 + 5
    -9                        5
    原码:100 ... 1001         原码:000 ... 0101
    反码:111 ... 0110         反码:000 ... 0101
    补码:111 ... 0111         补码:000 ... 0101
    
    111 ... 0111
    000 ... 0101
    111 ... 1100 (负数 原码 = 补码取反加一)
    
    补码:111 ... 1100
    反码:100 ... 0011
    原码:100 ... 0100 => -4
    

    09 例3 两负相加

    -3 + (-2)
    -3                        -3
    原码:100 ... 011         原码:100 ... 011
    反码:111 ... 100         反码:111 ... 100
    补码:111 ... 101         补码:111 ... 101
    
    111 ... 101
    111 ... 101
    100 ... 010 (负数 原码 = 补码取反加一)
    
    补码:100 ... 010
    反码:111 ... 101
    原码:111 ... 110 => -6
    
  • 相关阅读:
    Chromium GN构建工具的使用
    cef 不更新编译
    Debugging SSL on Linux
    chromium url 请求流程
    mim
    qt打包发布问题 缺失qt动态库
    qmake生成pro的make总失败。但是qt creator里面是好的
    qt 与 x11 头文件同时引用
    Ubuntu16安装GTK+2.0教程
    gcc编译静态库到自己的程序 解决在不同linux下因libc版本问题而不能运行 版本兼容问题
  • 原文地址:https://www.cnblogs.com/kangyz/p/13839115.html
Copyright © 2011-2022 走看看