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

    概述:
    数值的表示方法——原码、反码和补码
    原码:最高位为符号位,其余各位为数值本身的绝对值

    反码
    正数:反码与原码相同
    负数:符号位为 1,其余位对原码取反

    补码
    正数:原码、反码、补码相同
    负数:最高位为 1,其余位为原码取反,再对整个数加 1
    计算机原码用于表示有符号整数中的正数和无符号整数

    ================================================

    计算机用【原码】存储(有符号正数)和(无符号整数)
    计算机用【补码】存储(有符号负数),补码减1=反码,反码取反=原码

    示列
    int a = -1; 这里的-1用补码存储
    print(%d,%u,a,a);
    %d按打印=-1,为什么是-1(原码),因为这里打印的有符号十进制,如果这里是-100,%u打印,就会打印-00,
    %u按补码打印=4294967295(补码)%u按照无符号十进制打印。

    原码:1000 0000 0000 0000 0000 0000 0000 0001
    反码:1111 1111 1111 1111 1111 1111 1111 1110
    补码:1111 1111 1111 1111 1111 1111 1111 1111 补码要从反码哪里加1

    %d按照有符号十进制打印,%u按照无符号十进制打印。

    pritf是直接抓取二进制数,无论这个数据以前是什么类型,按照%d,%u,%....来解析

    printf是根据给出的%..是多少打印对应的值

  • 相关阅读:
    Git with SVN 协同设定
    Apache+Django+mod_wsgi安装目录
    ROR study
    PHP框架
    Gerrit 配置
    Garmin、任我游品牌自制等高线方法比较
    使用python发送outlook约会提醒邮件
    Apache部署多个django site project
    Aptana Studio 3安装(Windows)
    The Art of Readable Code
  • 原文地址:https://www.cnblogs.com/weekbo/p/8135470.html
Copyright © 2011-2022 走看看