2017-01-23 37 views
0

如何byte b= (byte)400是一個有效的陳述,但400超出範圍?我想知道java用來將400帶入字節範圍內的算法。java使用什麼算法將int轉換爲byte?

+1

您可以在Oracle教程的所有細節:轉換和促銷#變窄(http://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html#jls-5.1 .3)(30秒谷歌搜索雖然) – BackSlash

回答

4

它需要400個二進制表示中最不重要的8個字節,並將它們分配給byte變量。

int 400二進制表示:

00000000000000000000000110010000 
         -------- 

服用時低8位,你會得到10010000,這是-112二進制表示。

相關問題