美文网首页
负数的二进制表示方法

负数的二进制表示方法

作者: diveinljq | 来源:发表于2017-02-22 20:12 被阅读0次

负数的二进制表示方法

假设有一个 int 类型的数,值为3,那么,我们知道它在计算机中表示为:

00000000 00000000 00000000 00000011

因为int类型的数占用4字节(32位),所以前面填了一堆0。

在计算机中,负数以其正值的补码形式表达。

什么叫补码呢?这得先从原码,反码说起。

原码:一个整数,按照绝对值大小转换成的二进制数,称为原码。

比如 00000000 00000000 00000000 00000011 是 3的 原码。

反码:将二进制数按位取反,所得的新二进制数称为原二进制数的反码。

取反操作指:1变0;0变1

比如:00000000 00000000 00000000 00000011的反码是11111111 11111111 11111111 11111100。

补码:反码加1称为补码。

也就是说,要得到一个数的补码,先得到反码,然后将反码加上1,所得数称为补码。

比如:00000000 00000000 00000000 00000011 的反码是:11111111 11111111 11111111 11111100。

那么,补码为:

11111111 11111111 11111111 11111100 + 1 = 11111111 11111111 11111111 11111101

所以,-3 在计算机中表达为:11111111 11111111 11111111 11111101。转换为十六进制:0xFFFFFFFD。

整数-1在计算机中如何表示。

假设这也是一个int类型,那么:

1、先取1的原码:00000000 00000000 00000000 00000001

2、得反码:    11111111 11111111 11111111 11111110

3、得补码:    11111111 11111111 11111111 11111111

相关文章

  • 知识点收集

    负数的二进制表示方法二、八、十、十六进制转换按位取反

  • 负数的二进制表示方法

    假设有一个 int 类型的数,值为5,那么,我们知道它在计算机中表示为:00000000 00000000 000...

  • 负数的二进制表示方法

    负数的二进制表示方法 假设有一个 int 类型的数,值为3,那么,我们知道它在计算机中表示为: 00000000 ...

  • 负数的二进制表示方法

    负数表示不是简单地将最高位变为1,比如: 1)byte a=-1,如果只是将最高位变为1,二进制应该是100000...

  • 二进制中1的个数

    题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。2中方法:

  • 剑指offer编程题—二进制中1的个数

    题目描述 输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。 解题思路 思路一:暴力方法 方法...

  • java位移操作

    十进制、二进制 十进制数在计算机中的表示方法,对于正数和负数是不一样的。负数:绝对值对应的二进制,取反码,将反码加...

  • Java 二进制

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

  • java数据结构和算法(10)二进制中1的个数

    输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。完成如下代码: 思路:方法1:使用Integer....

  • Day7——进制/原码反码补码/位运算

    一、进制 二、原码反码补码 原码:(符号位+真值)符号位:最高位用0表示正数,1表示负数真值:去掉正负数字的二进制...

网友评论

      本文标题:负数的二进制表示方法

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