• 原码、反码、补码相关知识


    原码、反码、补码相关知识:

    二进制的正负值表示:二进制最左边为符号位,0表示正数,1表示负数

    整数的二进制表示有:

    正整数的原码、反码、补码都相同;

    原码(二进制表示):补码的补码为原码

    反码(原码符号位不变,原码其他位按位取反)、

    补码(反码加1得到补码)

    计算机存储到内存的是补码

    // -1的原码为:10000000000000000000000000000001

    // -1的反码为:1111111111111111111111111111111111110

    // -1的补码为:1111111111111111111111111111111111111

    //int main()

    //{

    //      int a = -1;                     

    // -1在内存中存储的是补码:1111111111111111111111111111111111111

    //      int b = a >> 1;             

    // a>>1:表示a的补码:1111111111111111111111111111111111111 算术右移1位

    //      printf("b = %d\n", b);  // b = -1(%d打印的是原码 )                                           

    //      return 0;

    //}

    相关代码:

    1. #define _CRT_SECURE_NO_WARNINGS
    2. #include <stdio.h>
    3. // -1的原码为:10000000000000000000000000000001
    4. // -1的反码为:11111111111111111111111111111110
    5. // -1的补码为:11111111111111111111111111111111
    6. //
    7. int main()
    8. {
    9. int a = -1; // -1在内存中存储的是补码:11111111111111111111111111111111
    10. int b = a >> 1; // a>>1:表示a的补码:11111111111111111111111111111111 算术右移1位
    11. printf("b = %d\n", b); // b = -1
    12. return 0;
    13. }

     执行结果如下:

  • 相关阅读:
    docker run 默认工作目录 -w 参数
    有人这个是什么意思呀?求解答
    前端基础入门
    git的使用
    小程序的生命周期
    动手学习深度学习 09:循环神经网络
    2023-09-04 mysql-代号m-并发控制-整体方向-设计
    机器学习--决策树(sklearn)
    python2 paramiko 各种报错解决方案
    Python的一个并行计算库
  • 原文地址:https://blog.csdn.net/xiaojiamide/article/details/126919086