问个c的问题

[复制链接]
3223|11
 楼主| bit6019 发表于 2010-7-25 15:32 | 显示全部楼层 |阅读模式
a | (b << 8)
其中a和b都是8bit的类型,假设a是1,b是1,得到结果是多少
6019赵文 发表于 2010-7-25 15:34 | 显示全部楼层
a是1的话就不会执行b << 8了
所以a 和 b都还是1
结果也是1
 楼主| bit6019 发表于 2010-7-25 15:35 | 显示全部楼层
我是想问,b是8位,然后再向左移8位,会不会出问题
yoyowodeai 发表于 2010-7-25 15:36 | 显示全部楼层
…………
看错了
吧|看成||了
想实习去 发表于 2010-7-25 15:36 | 显示全部楼层
VC++6.0,测试输出1
在RedHat里测试输出1
两者都定义为unsigned char型。
李冬发 发表于 2010-7-25 17:33 | 显示全部楼层
b << 8结果是0,不论b的值是多少。
xuyiyi 发表于 2010-7-26 16:14 | 显示全部楼层
a | (b << 8)
其中a和b都是8bit的类型,假设a是1,b是1,得到结果是多少
bit6019 发表于 2010-7-25 15:32


b << 8结果是0,与b值无关。

a | 0 = a;

即结果为a (即a=1).
nicolas.sail 发表于 2010-10-9 23:55 | 显示全部楼层
b << 8跟所用处理器的位数有关!
yoyowodeai 发表于 2010-10-10 15:04 | 显示全部楼层
同意ls,不知道lz用的是几位的
三杯两盏酒 发表于 2010-10-10 15:11 | 显示全部楼层
这么简单的问题呀,用C程序验证一下不就知道了。
金鱼木鱼 发表于 2010-10-10 17:33 | 显示全部楼层
就是啊,写个程序运行下就知道了
yoyowodeai 发表于 2010-10-11 12:14 | 显示全部楼层
(b << 8)
这样的语句会得到警告
您需要登录后才可以回帖 登录 | 注册

本版积分规则

221

主题

1344

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部