汇编作业题2.23B中的问题
对于无符号数以及有符号数值左移效果一致,如:
//默认i为32位
int i = 1; //i = 0000 0000 0000 0000 0000 0000 0000 0001
i = i << 31;//i = 1000 0000 0000 0000 0000 0000 0000 0000, i = -2147483648
unsigned j = 1;
j = j << 31;//j = 2147483648
而右移则有不同的效果,有符号数值的符号位不会发生变化,如:
int i = -2148473638;//i = 1000 0000 0000 0000 0000 0000 0000 0000
i = i >> 1; //i = 1100 0000 0000 0000 0000 0000 0000 0000