java中int如何转换byte

public class dataconvert{
public static void main(String arg[]){
byte b1=67,b2=89;
byte c=(byte)(b1+b2);
System.out.println(c);
}}

 

 

a) b1+b2: 0000 0000 1001 1100
(b) (byte)b1+b2: 1001 1100
(c) 内存中是保存的是1001 1100,这时需要打印出来(显示的数据和内存中的值不一样),需要进行数据的转换(补码->原码),取反加1,这时变成了1110 0100
(d) 所以 c = -100

posted @ 2011-12-11 17:25  Jackylee2  阅读(1028)  评论(0编辑  收藏  举报