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

       注:数在计算器中用二进制形式进行存储,其存储形式称为该数的机器数。数字的最高位是符号位,0代表正,1代表负。

         由于第一位是符号位,机器数形式值不一定等于真正的数值,因此,将带符号位的机器数对应真正的值称为真值。例:0000 0001 = +000 0001 =+1;1000 0001 = -000 0001 = -1。

      原码:第一位是符号位,其余位表示值,因此,正数的原码是它本身,负数原码第一位为1,表示其为负。

         例:+1原:0000 0001;

            -1原:1000 0001。

         由于第一位是符号位,8位二进制的取值范围是:[1111 1111, 0111 1111]=[-127, 127]。

      反码:正数反码是其本身,负数反码在原码基础上,符号位不变,其他位取反【1变为0,0变为1】。

         例:+1=[0000 0001]原 = [0000 0001]反

            -1=[1000 0001]原 = [1111 1110]反 

      

      补码:正数补码是其本身,负数补码是在反码基础上,符号位不变,末位+1【二进制:0+1变为1;1+1变为0,前位+1】

         例:+1=[0000 0001]原 = [0000 0001]反 = [0000 0001]补

            -1=[1000 0001]原 = [1111 1110]反 = [1111 1111]补

            -2=[1000 0010]原 = [1111 1101]反 = [1111 1110]补

  • 相关阅读:
    常用问题处理
    modelsim仿真中遇到的问题
    modelsim编译altera的库
    verilog系统函数用法
    123
    MATLAB实现截位的问题
    加减与有符号和无符号库
    状态机中的RAM注意的问题--减少扇出的办法
    串口的时序
    L230 RF可靠性测试-RF指标
  • 原文地址:https://www.cnblogs.com/20183711PYD/p/11571765.html
Copyright © 2011-2022 走看看