short128转换为byte为什么是-128
计算机都是通过二进制去计算的,所以我们先把128转换为二进制,short是十六个字节0000 0000 0000 0000 那么128=2的7次方=》 0000 0000 1000 0000
byte为8个字节 0000 0000 所以当short转强为byte时,会把前面的多余的截掉,变成 1000 0000.
二进制中首位用来表示正负,0为正,1为负。
java中数为多少是看补码(反码+1),正数的原码,反码,补码都一样(三码合一)。
这里原码为: 1000 0000
反码: 1111 1111(符号位不变,首位1不变)
补码:1000 000
为128,但是符号是负的,则是-128