【问题标题】:What is a two's complement Integer? [duplicate]什么是二进制补码整数? [复制]
【发布时间】:2015-08-26 18:51:12
【问题描述】:

int,short,byte 等 Java 数据类型是二进制补码整数,正如他们在 here 中提到的那样。当有人在 java 中说 intshortbyte 是二进制补码整数时,它会提供什么信息?

更新:我想知道为什么 2 的补码比其他表示更受欢迎?

【问题讨论】:

标签: java types


【解决方案1】:

它告诉您有符号值 (+/-) 如何以二进制形式表示。

例如

简单二进制形式的24是00011000

  • 一个补码是 11100111(反转所有位)
  • 二进制补码是通过将一个补码值加 1 来计算的

--> 11101000 是 -24 的补码

这就是为什么(例如)在 java 中字节值的范围是 -128 ... 127 在 2^7 位置具有“1”的所有值都是负数。

【讨论】:

    猜你喜欢
    • 2011-10-14
    • 2017-02-27
    • 2013-03-28
    • 2015-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    • 1970-01-01
    相关资源
    最近更新 更多