Java 没有 unsigned 类型
所以强制转型的时候会出现数值丢失的现象unsigned 1000 = 1111101000
这个 1111101000 正好是 signed -24
1000000 = 11110100001001000000
              ^
由于 short 是 16bit 的数据类型
所以转型后的数 0100001001000000 正好是 signed 16960