美文网首页
二进制的原码和补码

二进制的原码和补码

作者: 全村希望gone | 来源:发表于2020-04-21 12:03 被阅读0次

先验知识

  • 正数的符号位是0
  • 负数的符号位是1
  • 正数的原码=反码=补码
  • 负数的补码=负数的反码+1
  • 负数的反码是由负数的原码符号位不变其余位取反得到的

例子

5的二进制如何表示?
0101
-5的二进制如何表示?
有两种求法

  • 第一种:由正数的原码求解
    • 先计算5的二进制,是00000101(前面四位是符号位,后面四位是5)
    • 再对每一位取反,是11111010
    • 再加1,是11111011
  • 第二种:由负数的原码求解
    • 先计算-5的原码,是10000101(前面四位是符号位,符号位是1)
    • 符号位不变,其余为取反,得到反码,是11111010
    • 反码加1,是11111011

总结
11111011如果是正数的话,则表示251,发现什么规律了吗?
给定一个负数是x,那么它的补码就是(256+x)的二进制表示,我说的这个规律只是适用于8位以内的,如果这个负数无法用8位表示,那就用12位表示,如果无法用12位表示,那就试试16位,递增4位,在用2的12次方加上这个负数,得到正数后,再表示为二进制。这个规律其实作用也不是很大,只是有些情况下可以加速计算。

相关文章

  • python中的原码反码和补码

    python中的原码反码和补码 原码反码和补码的概念 原码:原码是二进制数字的一种简单的表示法。二进制首位为符号位...

  • 二进制原码、反码、补码运算及标志位

    一、二进制原码、反码、补码的转换 原码: 正整数的原码:这个数的二进制,符号位为0;正整数的原码=补码=反码 例1...

  • 原码、反码、补码

    正数 原码:一个数的二进制 反码:正数的反码就是其原码 补码:正数的补码就是其原码 例 负数 原码:一个数的二进制...

  • 《Oracle Java SE编程指南》07-09:原码、反码和

    内容导航: 前言 1、原码 2、反码 3、补码 前言 原码、反码和补码是计算机存储一个具体数字的二进制编码方式。 ...

  • 十进制,二进制,以及相互转换

    二进制 计算机以二进制补码的形式保存所有的整数 正数的原码、反码、补码都相同 原码:最高位符号位,正数为0,负数为...

  • Java 二进制

    原码、反码、补码 二进制的最高位是符号位, 0表示正数, 1表示负数; 正数的原码, 反码, 补码都一样; 负数的...

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

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

  • 位运算

    原码,反码,补码 原码 正数的原码就是其二进制本身 负数的原码是把对应的正数的原码最高位改为1 反码 正数的反码就...

  • 为什么二进制数的补码等于按位取反再加1

    昨天聊到了补码的问题:在4进制中,原码1的补码是3。减去原码和加上补码的结果是一样的。大学时候,对于二进制数,求补...

  • 原码反码补码以及0xff的与运算

    一、原码反码补码 原码:我们用8位二进制表示一个数,+11的原码为00001011,-11的原码就是1000101...

网友评论

      本文标题:二进制的原码和补码

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