idea断点里的这俩数值,是什么类型的,是怎么转换成对应的16进制的。
-82咋就对应了0xAE了呢?
1、大小端
2、见下图(Windows 计算机-程序员)
二进制、八进制、十进制、十六进制,,懂吗?
可以看 计算机组成原理 啥的
@快乐的凡人721: 你的思路有问题, 不光进制转换的问题,还有溢出和补码的问题。我总结了一下:
@快乐的凡人721:
0xAE的十进制是174,而截图里的是byte数组,byte取值范围-128到127。
所以说174溢出了,174对应的二进制:10101110 把它当成有符号的数值看的话,应该是个负数,
而计算机中是以补码的形式存储的数字,因此要在此数值的基础上“符号位不变,其他位取反加一”,
然后就是我们所需要的值,取反:11010001,加一:11010010,该数值为-82;
@eEasy: 很棒!
IDEA debug 有个功能 Evaluate Expression
,你可以动态调试:类型判断、进制转换 等等