打印

问对一个变量进行左移再赋值的程序

[复制链接]
2365|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
nanguamache|  楼主 | 2010-10-27 22:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
ayb_ice| | 2010-10-28 08:40 | 只看该作者
b本来就是0XFF,再怎么|1还是一样的
可能有些编译器直接就优化掉了

使用特权

评论回复
板凳
金戈铁马| | 2010-10-28 08:51 | 只看该作者
char b=b|a
执行后b还是等于FFH吧。1111_1111左移一位,低位应该补零吧
b=1111_1110

使用特权

评论回复
地板
john_light| | 2010-10-28 08:52 | 只看该作者
建议你好好学习C语言,问题不少:
1、C语言中,十六进制值表示为0x??,而不是??H;
2、你这样定义n和b局部变量,注意它的作用范围,它仅在for循环中有效。for循环中的b和上面的b是不同的变量;
3、如<=这样的比较,注意它的边界;
4、如果你想把每位循环置1,则应该先移位后或运算,否则最低一位会被前移变为零。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

53

帖子

0

粉丝