gpt4 book ai didi

language-agnostic - 为什么按位与运算符不短路?

转载 作者:行者123 更新时间:2023-12-04 13:08:45 24 4
gpt4 key购买 nike

我们都知道逻辑&&运算符会在左侧操作数是false时短路,因为我们知道如果一个操作数是false,那么结果也是false

为什么按位的&运算符也不会短路?如果左操作数是0,那么我们知道结果也是0。我在(C,Javascript,C#)中测试过的每种语言都会对两个操作数求值,而不是在第一个操作数之后停止。

有什么原因会使&运算符短路会是个坏主意吗?如果不是,为什么大多数语言都不会使它成为短篇小说?似乎是一个明显的优化。

最佳答案

我猜这是因为源语言中的按位and通常会直接转换为要由处理器执行的按位and指令。依次将其实现为硬件中一组适当数量的and门。

在大多数情况下,我认为这并没有优化任何事情。通常,评估第二个操作数的成本要低于测试以查看是否应该评估它的成本。

关于language-agnostic - 为什么按位与运算符不短路?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9688343/

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