首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

寄存器写值解决办法

2014-04-29 
寄存器写值我看到写进寄存器的操作是这样表达式14 2的值为3,因为14(即二进制的00001110)向右移2位等于3

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

热点排行