读书人

寄存器写值解决办法

发布时间: 2014-04-29 17:31:28 作者: rapoo

寄存器写值
寄存器写值解决办法我看到写进寄存器的操作是这样
表达式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位不会越界的

读书人网 >C语言

热点推荐