• 原码、反码和补码


    先看一下常见资料给出的定义:(8位整型)
     
    原码:-127~127
    一个二进制数左边加上符号位后所得的码。最高位为符号位,"0"表示正,"1"表示负。
    反码:-127~127
    正数的反码——与原码相同。
    负数的反码——符号位为“1”,数值部分按位取反。
    补码:-128~127
    正数的补码——与原码相同。
    负数的补码——将其原码除符号位之外的所有位取反后加1。即“反码+1”。
     
     
    原码:用于计算机处理数据、并区分正负数。
    补码:用于计算机运算减法。(减一个数,变成加这个负数的补码,如:10-2 变成 10 + (-2的补码)
     

    转自:https://zhuanlan.zhihu.com/p/80618244
     
     

    由补码,求原码:

    正数:补码和原码相同;

    负数:补码先减一,得到反码,反码除符号位外,取反,再得到原码。和原码求补码的过程正好反过来;

    或者,求负数补码,直接用“左右找1, 1不变,中间取反求得”就是找到该补码的左边和右边的第一个1,然后左边和右边的第一个1都不变,再把这两个1中间的数都取反,就得到其原码了;

  • 相关阅读:
    some math words
    图论中匹配问题的三种算法
    如何查看静态库和动态库是32位还是64位
    C/C++语言的版本, Visual Studio版本
    codeblocks
    文件类型
    上海职称评定
    微信登录
    手机归属地查询
    创建AOP静态代理(上篇)
  • 原文地址:https://www.cnblogs.com/Allen-rg/p/11975118.html
Copyright © 2020-2023  润新知