标题:关于unsigned char移位的疑惑
只看楼主
可见光
Rank: 1
等 级:新手上路
帖 子:143
专家分:0
注 册:2007-6-15
 问题点数:0 回复次数:3 
关于unsigned char移位的疑惑
定义一个unsigned int的数,将它用<<或>> 移动32位,为什么不是0,而是不变
搜索更多相关主题的帖子: unsigned char 移位 定义 int 
2007-11-22 19:23
可见光
Rank: 1
等 级:新手上路
帖 子:143
专家分:0
注 册:2007-6-15
得分:0 
错了 ,不是unsigned char 而是unsigned int
2007-11-22 19:26
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
得分:0 
因为int是32位的所以最多只能移动31位
大于31位的移动估计是对32取模再移动的.32%32=0,结果不移动

2007-11-23 09:05
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
得分:0 
对于左移或右移运算符,移动的位数最好要少于运算符左操作数所占的二进制位数

英者自知,雄者自胜
2007-11-23 09:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-187807-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026535 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved