1.原码、反码、补码
计算机中计算使用的是补码,正数的补码、原码、反码一致,负数的反码(补码基础上-1)、原码在反码基础上取反。
2.左移、右移
int 1<<2 (1向左移动两位,即1乘以2的2次方)
int 1<<3 (1向左移动三位,即1乘以2的3次方)
int 4>>2((4向右移动两位,即8除以2的2次方))
int 8>>2((8向右移动三位,即8除以2的3次方))
注:左移后面补0,右移前面补符号位
3.例子
short、int、long等类型转byte数组进行右移
short i=1; 二进制:00000000 00000001
00000001 & 0xff 为 byte[0]=1 右移动0位
00000000 & 0xff 为 byte[1]=0 右移动8位
byte数组为byte[2] j ={1,0}
注:负数的补码减1取反得原码,取反加1也得原码
本文介绍了计算机中数值运算的基础,包括原码、反码和补码的概念,特别是对于正负数的不同表示。同时,详细阐述了左移和右移操作,如int1左移和右移的含义,并通过实例展示了数值如何在位移过程中变化。此外,还提及了将short、int、long等类型转换为byte数组时的右移处理,以及负数在补码表示下的转换规则。

被折叠的 条评论
为什么被折叠?



