gpt4 book ai didi

language-design - 位运算符优先级

转载 作者:行者123 更新时间:2023-12-01 09:38:27 26 4
gpt4 key购买 nike

我在类似 C 的语言中遇到过几次问题是这样的:

original | included & ~excluded   // BAD

由于优先级,这会解析为:

original | (included & ~excluded)   // '~excluded' has no effect

有谁知道 bitwise 运算符的三个不同优先级的原始设计决定背后的原因是什么?更重要的是,您是否同意这个决定,为什么?

最佳答案

至少从 C 开始,运算符就有了这种优先级。 .

我同意这个顺序,因为它与最相似的算术运算符的相对顺序相同(+* 和否定) .

& vs *| vs + 的相似度可以看这里:

A  B | A&B A*B | A|B A+B 0  0 |  0   0  |  0   00  1 |  0   0  |  1   11  0 |  0   0  |  1   11  1 |  1   1  |  1   2

按位非和否定的相似性可以通过这个公式看出:

~A = -A - 1

关于language-design - 位运算符优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3730539/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com