zoukankan      html  css  js  c++  java
  • 二进制(signed or unsigned)补码

    在计算机系统中,数值一律用补码来表示(存储)。 
    主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补 
    码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。 
    补码与原码的转换过程几乎是相同的。 
    数值的补码表示也分两种情况: 
    (1)正数的补码:与原码相同。 
          例如,+9的补码是00001001。 
    (2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。 
          例如,-7的补码:因为是负数,则符号位为“1”,整个为10000111;其余7位为-7的绝对值+7的原码 
         0000111按位取反为1111000;再加1,所以-7的补码是11111001。 
    已知一个数的补码,求原码的操作分两种情况: 
    (1)如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码。 
    (2)如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各位取反,然后再整个数加1。 
         例如,已知一个补码为11111001,则原码是10000111(-7):因为符号位为“1”,表示是一个负数,所以该位不变,仍为   “1”;其余7位1111001取反后为0000110;再加1,所以是10000111。
     
     
  • 相关阅读:
    Redis 之order set有序集合结构及命令详解
    Redis 之set集合结构及命令详解
    Redis 之list链表结构及命令详解
    Redis 之string结构及命令详解
    Redis 通用key操作命令
    Redis 在Linux下的安装
    Entity FrameWork 操作使用详情
    Linux 之常用操作指令详解
    Linux 之根目录介绍
    php 加密解密函数封装
  • 原文地址:https://www.cnblogs.com/ruiy/p/7250739.html
Copyright © 2011-2022 走看看