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]补

  • 相关阅读:
    模拟链表
    解密回文——栈
    解密QQ——队列
    排序算法的实现与比较
    2016年第七届蓝桥杯C/C++B组省赛题目解析
    记账类问题汇总
    斐波那契数列题型汇总
    MFC绘图小实验(1)
    MFC绘图基础——上机操作步骤
    求 pi 的近似值题型汇总
  • 原文地址:https://www.cnblogs.com/20183711PYD/p/11571765.html
Copyright © 2011-2022 走看看