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

    原码

    原码由第一位的符号位和后面的数值位构成,如32位二进制中:

    数值 原码
    (1) (0000 0000 0000 0000 0000 0000 0000 0001)
    (-1) (1000 0000 0000 0000 0000 0000 0000 0001)
    (2147483647) (0111 1111 1111 1111 1111 1111 1111 1111)
    (-2147483647) (1111 1111 1111 1111 1111 1111 1111 1111)
    (0) (0000 0000 0000 0000 0000 0000 0000 0000)
    (1000 0000 0000 0000 0000 0000 0000 0000)

    所以32位二进制用原码表示的范围是 ([-2147483647, 2147483647]),其中 (0) 有两种表示方法,因为 (0) 是不分正负的

    反码

    正数的反码是其原码本身,负数的反码是符号位不变,数值位的每一位都取反,如32位二进制中:

    数值 反码
    (1) (0000 0000 0000 0000 0000 0000 0000 0001)
    (-1) (1111 1111 1111 1111 1111 1111 1111 1110)
    (2147483647) (0111 1111 1111 1111 1111 1111 1111 1111)
    (-2147483647) (1000 0000 0000 0000 0000 0000 0000 0000)
    (0) (0000 0000 0000 0000 0000 0000 0000 0000)
    (1111 1111 1111 1111 1111 1111 1111 1111)

    所以32位二进制用反码表示的范围是 ([-2147483647, 2147483647]),其中 (0) 有两种表示方法

    补码

    正数的补码是其原码本身,负数的补码是其反码加 (1),如32位二进制中:

    数值 反码
    (1) (0000 0000 0000 0000 0000 0000 0000 0001)
    (-1) (1111 1111 1111 1111 1111 1111 1111 1111)
    (2147483647) (0111 1111 1111 1111 1111 1111 1111 1111)
    (-2147483647) (1000 0000 0000 0000 0000 0000 0000 0001)
    (0) (0000 0000 0000 0000 0000 0000 0000 0000)
    (-2147483648) (1000 0000 0000 0000 0000 0000 0000 0000)

    所以32位二进制用反码表示的范围是 ([-2147483648, 2147483647]),其中 (0) 只有一种表示方法

  • 相关阅读:
    ue4 官网IK流程记录
    ue4-C++中加载一个蓝图类(二)-C++中绑定Blueprint武器
    UE4 c++ 创建刚体Cube
    UE4的AI学习(1)——基本概念
    UE4的AI学习(2)——官方案例实例分析
    行为树(Behavior Tree)实践(1)– 基本概念
    Animation Blueprint, Set Custom Variables Via C++
    ue4 c++ anim notify
    ue4 动画相关方法杂记
    [UE4]Montage动画设置Slot
  • 原文地址:https://www.cnblogs.com/fenggwsx/p/15313866.html
Copyright © 2011-2022 走看看