发新帖我要提问
12
返回列表
打印
[MCU]

结果是多少

[复制链接]
楼主: yszong
手机看帖
扫描二维码
随时随地手机跟帖
21
jlyuan| | 2020-4-11 14:21 | 只看该作者 回帖奖励 |倒序浏览
a=1  b=0

使用特权

评论回复
22
wyjie| | 2020-4-11 14:25 | 只看该作者
如果我做编译器,我会把b<<8优化掉。当然了,我这人厚道,我会给你一个警告信息。

使用特权

评论回复
23
zhenykun| | 2020-4-11 14:30 | 只看该作者
没的数据类型讨论没的意义的。

使用特权

评论回复
24
zhanghqi| | 2020-4-11 14:33 | 只看该作者


这么简单的问题呀,用C程序验证一下不就知道了。

使用特权

评论回复
25
wangzsa| | 2020-4-11 14:35 | 只看该作者
<<不是循环左移,在c语言里面没有循环左移符号吧

使用特权

评论回复
26
huangchui| | 2020-4-11 14:41 | 只看该作者
前边的那种说法也不对吧,   |是位或运算,所以应该计算结果,如果是||逻辑运算才不会计算结果.

使用特权

评论回复
27
zhaoxqi| | 2020-4-11 14:43 | 只看该作者
b<<8 = 0

使用特权

评论回复
28
午夜粪车| | 2020-4-11 14:46 | 只看该作者

b左移8位为0,a|0 = 1;
《为左移,  |为按位或!!

使用特权

评论回复
29
liliang9554| | 2020-4-11 14:48 | 只看该作者
b << 8结果是0,不论b的值是多少。

使用特权

评论回复
30
spark周| | 2020-4-11 14:53 | 只看该作者
那是“位”或,b<<8是要执行的。

使用特权

评论回复
31
jiaxw| | 2020-4-11 14:56 | 只看该作者
这个有什么疑问的或运算,只要a是1,其结果都是1

使用特权

评论回复
32
shimx| | 2020-4-11 14:59 | 只看该作者

对呀,1与任何值或运算都会得到1.我不懂的是MCU里面总是出现1<<x运算,为什么。

使用特权

评论回复
33
jiahy| | 2020-4-11 15:02 | 只看该作者
为了将你的寄存器的第x位置一啊,一般都是设置寄存器时用.

使用特权

评论回复
34
zhaoxqi| | 2020-4-11 15:04 | 只看该作者
二进制的为10000001的吧

使用特权

评论回复
35
zhanghqi| | 2020-4-11 15:08 | 只看该作者
逻辑或不是按位或,a=1,所以永远都是1

使用特权

评论回复
36
jlyuan| | 2020-4-11 15:14 | 只看该作者
结果是1 吧。

使用特权

评论回复
37
yszong|  楼主 | 2020-4-11 15:16 | 只看该作者
多谢大家讨论这么多哈,呵呵

使用特权

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

本版积分规则