有符号int 与byte 数组 之间相互转化

有符号int 转byte[4]

有符号int 与byte 数组 之间相互转化

byte[4] (存的有符号数) 转int(或long)

有符号int 与byte 数组 之间相互转化
pointer为数组指针 传进来是0;
需要注意的是: 需要把每个byte & 0xff
否则会把此byte的最高位的1 当成符号位存到result的最高位上

计算截图

有符号int 与byte 数组 之间相互转化
有符号int 与byte 数组 之间相互转化
最后一行打印的是java int 最小负数 和预期一致

将int i改为任意 负数如-10086

有符号int 与byte 数组 之间相互转化有符号int 与byte 数组 之间相互转化
符合预期

另外需要注意

往byte[] 数组每一位存入的 16进制字符串 其实存入的是补码 ?(我弄晕了 又好像不是补码)
如 0x80 0x00 0x00 0x01 想要存入的是-1
其实存入的是补码 结果如下
有符号int 与byte 数组 之间相互转化
有符号int 与byte 数组 之间相互转化
对应
有符号int 与byte 数组 之间相互转化