Java中int数据类型转byte类型,int数为-129,答案尽可能详细

 我来答
百度网友3b0158e
推荐于2016-07-08 · TA获得超过955个赞
知道小有建树答主
回答量:372
采纳率:100%
帮助的人:278万
展开全部
int 是4字节的, 用补码存储
-129: 原码: 1000 0000, 0000 0000, 0000 0000, 1000 0001
反码: 1111 1111, 1111 1111, 1111 1111, 0111 1110
补码: 1111 1111, 1111 1111, 1111 1111, 0111 1111
转成byte后, 高的3个字节就被舍弃了, 剩最低的一个字节
也就是 0111 1111
十六进制为 7f
无符号10进制为 127
有符号10进制也是 127
百度网友110d863
2015-03-13 · 超过54用户采纳过TA的回答
知道小有建树答主
回答量:100
采纳率:0%
帮助的人:69.1万
展开全部
public static byte[] toByteArray(int iSource, int iArrayLen) {
byte[] bLocalArr = new byte[iArrayLen];
for (int i = 0; (i < 4) && (i < iArrayLen); i++) {
bLocalArr[i] = (byte) (iSource >> 8 * i & 0xFF);
}
return bLocalArr;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式