寄存器写值
我看到写进寄存器的操作是这样
表达式14 >> 2的值为3,因为14(即二进制的00001110)向右移2位等于3(即二进制的00000011)
表达式8 >> 2的值为2,因为8(即二进制的00001000)向右移2位等于2(即二进制的00000010)
表达式14 << 2的值为56,因为14(即二进制的00001110)向左移2位等于56(即二进制的00111000)
现在我想问:14 << 7是多少??我的理解是,14(00001110)左移7位(00000000).但是实际的好像不是!!!!!
[解决办法]
你要分是8位的还是16位的还是32位的,16位和32位的话1792没错,14*(2的7次方),8位的话,会丢弃高位,结果为0。
[解决办法]
缺省是32位的, 左移7位不会越界的