Java中的强制类型转换?求大神解答! javabyte类型的强制转换 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用Windows自带的计算器尝试一下你就知道了首先int类型的130,二进制表示为00000000000000000000000010000010,转换为byte的规则是直接舍弃高24位,所以变成10000010,但谁告诉你这是-130了?你如果不会手动转换,那么看下面的计算器:第二,int类型的-130,二进制表示为:舍弃24位,转换为byte就是: byte 为1个字节,int 4个字节,int 转换为byte是只截取最后一个字节, 10000010(这里是补码),你转化为原码(11111110)就是结果了 nihao,555555 nihao,555555nihao,555555nihao,555555nihao,555555nihao,555555nihao,555555nihao,555555nihao,555555nihao,555555nihao,555555nihao,555555233 byte的取值只有-127~127 ,130和-130发生了越界 当然先要理解byte的取值范围;然后类型转换时尽量不要由上往下;如 int -> byte,会被截掉的; java中int类型占4个字节,byte是1个字节,强制类型转换后自行舍去前三个字节,即高24位,所以最后剩下10000010,转换成原码就是你所要的结果了,在进行转换的时候注意每种数据类型所占据的字节数,还有数据在内存中是一补码形式存储的,加油 楼主的意思是:byte范围是-127~127,130超了3,再往回去就是-127,-126,-125,为什么不是-125? 他应该是这个意思~~~我也有疑问~~~~得恶补下补码问题了~~~~~ 谁来解释下~~ JAVA 调试出现异常,求解 CheckStyle问题 java Jtextfield focusLost 被叫了很多次 java学习从这里开始(处学者群) 初学者,大家来帮看看为什么我无法编译java 为什么把一个带有中文的字符串输入到一个File中,中文不能正常显示呢,都是乱码. handleEvent的deprecated的问题,请指教 来点EJB的 e book 在线等~~,谁有jbuilder6的注册码? 急~~! 哪里有core java的e版down啊? 线程是否启动的问题 hashmap,ConcurrentHashMap问题~
首先int类型的130,二进制表示为00000000000000000000000010000010,转换为byte的规则是直接舍弃高24位,所以变成10000010,但谁告诉你这是-130了?你如果不会手动转换,那么看下面的计算器:
第二,int类型的-130,二进制表示为:舍弃24位,转换为byte就是:
nihao,555555
nihao,555555
nihao,555555
nihao,555555
nihao,555555
nihao,555555
nihao,555555
nihao,555555
nihao,555555
nihao,555555
nihao,555555233
我也有疑问~~~~得恶补下补码问题了~~~~~ 谁来解释下~~