寄存器写值

群人天 2014-01-08 04:16:21
我看到写进寄存器的操作是这样
表达式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).但是实际的好像不是!!!!!
...全文
56 点赞 收藏 4
写回复
4 条回复
群人天 2014年01月08日
谢谢楼上两位大师,原来还有这样的规定
回复 点赞
熊熊大叔 2014年01月08日
缺省是32位的, 左移7位不会越界的
回复 点赞
pathletboy 2014年01月08日
你要分是8位的还是16位的还是32位的,16位和32位的话1792没错,14*(2的7次方),8位的话,会丢弃高位,结果为0。
回复 点赞
群人天 2014年01月08日
这是我用百度搜索出来的答案,也不知道对不对,求大神们指教下,谢谢
回复 点赞
发动态
发帖子
C语言
创建于2007-09-28

3.2w+

社区成员

24.0w+

社区内容

C语言相关问题讨论
社区公告
暂无公告