美文网首页
补码的来源

补码的来源

作者: 愿为行者 | 来源:发表于2018-09-23 12:06 被阅读0次

今天在看java的Integer类的时候,突然想到一个问题,负数的补码的运算为什么是对应正数的反码加1呢?自己捣鼓了一下,使用一个简单的数学问题去看待这个问题,也就是两个相反数的和为0,比如 1 + (-1) = 0,所以反过来:-1 = 0 - 1,假设这里数的大小是一个字节,那么 -1 = 00000000 - 00000001 = 11111111,其结果恰巧等于1的反码加1,注意这里的运算其实0不够减,跟更高位借了1来运算的,也就是结果其实是这样计算来的: -1 = 100000000 - 00000001 。这里的0其实等于2^8,所以负数的补码还有一种算法: -n = 2^N - n,这里的N就是位数,如果为一个字节,那么N = 8,以此类推。
这篇博客写的相对详细一些:补码(为什么按位取反再加一):告诉你一个其实很简单的问题

相关文章

  • 补码的来源

    今天在看java的Integer类的时候,突然想到一个问题,负数的补码的运算为什么是对应正数的反码加1呢?自己捣鼓...

  • 关于补码_2019-03-29

    整数的补码正数的补码正数的补码等于源码负数的补码负数的补码:源码中符号位保持不变,其余各位取反后再加1 小数小数的...

  • 汇编

    补码 在求补码 得真值

  • 原码,反码,补码杂谈

    本文从原码讲起。通过简述原码,反码和补码存在的作用,加深对补码的认识。力争让你对补码的概念不再局限于:负数的补码等...

  • Java中的非运算~

    涉及到的概念:原码、补码涉及到的公式: (1)正数的原码 = 补码;(2)负数的 补码 = ( 原码 - 1 )再...

  • 数值是以补码表示的

    正数的补码与原补码相同 负数的补码:将该数的绝对值的二进制数按位取反后再加1 例如:求-10的补码 10的原码: ...

  • 原码、反码、补码和移码

    书中关于原码、反码、补码和移码的定义如下(n是机器字长):原码: 反码: 补码: 移码: 原码, 反码, 补码的基...

  • 2018-10-22 Python31 原码、反码、补码

    原码、反码、补码 1)如何计算补码?规则: 正数:原码 = 反码 = 补码负数:反码 = 符号位不变,其他位取反补...

  • int数字的表示

    在计算机中int型数字使用补码的形式在存储。首先说明补码的计算方式。正数和零的补码就是他们本身。负数的补码是符号位...

  • 6-三码合一&位运算

    1.原/反/补码! 数据在计算机内部是以补码的形式储存的对于正数:反码====补码====原码。对于负数:反码==...

网友评论

      本文标题:补码的来源

      本文链接:https://www.haomeiwen.com/subject/bhgfoftx.html