在java中做位运算,21<<27的结果是-1476395008。
可为什么在MySQL中,21<<27的结果是2818572288。
这是为什么?
MySQL中使用的是什么数据类型,是否是unsigned,无符号的?最高位会被用作符号位标记,0为正,1为负(即是否补码),无符号数范围从0开始,正数的范围比有符号数大一倍,无负数。并且对于无符号数,串位后(位移运算后)都会按照二进制规则转换,超出的位会被舍弃。有帮助请采纳,还有不懂的可以继续追问~