2015-06-11 141 views
-2

Java數據類型如int,0 ,byte是二進制補碼整數,因爲它們在here中將它篡改。當有人說在java中,intshortbyte是兩個補碼整數嗎?什麼是二進制補碼整數?

更新:我想知道爲什麼2的補碼優於其他表示?

+0

這意味着它們是按照嚴格和明確的規則在內存中表示的; Google瞭解更多詳情。 – Bathsheba

+0

你可以在這裏找到你的答案: http://stackoverflow.com/questions/1049722/what-is-2s-complement – Gondy

+0

這是一種在計算機中表示數字的方式,適用於正數和負數。有關詳細說明,請參見維基百科上的[二補](http://en.wikipedia.org/wiki/Two%27s_complement)。 – Jesper

回答

1

它告訴你簽名值(+/-)是如何以二進制形式表示的。

例如

24在簡單的二進制形式是00011000

  • 一的補碼是11100111(反相所有位)
  • 二的補碼是通過將1加到一的補碼值計算

- > 11101000是二進制補碼-24

這就是爲什麼(在一個例子中)在一個字節值的範圍是-128 ... 127 所有在2^7位置具有'1'的值都是負值。