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是根据给出的%..是多少打印对应的值

  • 相关阅读:
    如何使用命令行备份SAP HANA数据库
    Rootkit介绍
    web渗透测试基本步骤
    IIS服务器的安全保护措施
    渗透测试的流程
    Kali Linux之常见后门工具介绍
    中间人攻击(MITM)之数据截获原理
    口令破解工具
    常见渗透测试工具集成系统简介
    Kali Linux之使用SET快捷生成钓鱼网站方法
  • 原文地址:https://www.cnblogs.com/weekbo/p/8135470.html
Copyright © 2011-2022 走看看