0
如何byte b= (byte)400
是一个有效的陈述,但400
超出范围?我想知道java用来将400
带入字节范围内的算法。java使用什么算法将int转换为byte?
如何byte b= (byte)400
是一个有效的陈述,但400
超出范围?我想知道java用来将400
带入字节范围内的算法。java使用什么算法将int转换为byte?
它需要400个二进制表示中最不重要的8个字节,并将它们分配给byte
变量。
的int
400二进制表示:
00000000000000000000000110010000
--------
服用时低8位,你会得到10010000
,这是-112二进制表示。
您可以在Oracle教程的所有细节:转换和促销#变窄(http://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html#jls-5.1 .3)(30秒谷歌搜索虽然) – BackSlash