gpt4 book ai didi

julia - 在 Julia 中何时使用 `!`( bool 非)与 `~`(按位非)?

转载 作者:行者123 更新时间:2023-12-05 01:50:04 25 4
gpt4 key购买 nike

文档说 ! 是“ bool 非。实现三值逻辑”而 ~ 是“按位非”。

什么时候应该使用一个而不是另一个?

有一个similar question for Python关于比较运算符,但我不确定语言可能在哪里不同。

最佳答案

如您所说,! 是 bool 非,~ 是按位非。这最终有点多余,因为按位不是 bool 值只是 bool 值,所以在任何你可以使用 ! 的地方你也应该能够使用 ~。 (只要包不添加不符合这些运算符预期含义的方法,标准 Julia 就始终如此。)因此,例如,如果您是 Matlab 程序员,并且您是习惯于使用 ~ 来表示 bool 值 not,那么你可以继续这样做。但是,我的建议是尽可能准确地表达您的意思:如果您希望参数为 bool 值,请使用 ! ,否则您会收到错误消息。如果您希望参数是一个整数并且想要翻转它的位,请使用 ~。但坦率地说,对 bool 值使用 ~ 没什么大不了的。如果参数是 bool 值真的很重要,比如在条件中使用它,那么错误很快就会出现。

在 1.0 发布之前有一个关于从语言中删除 ! 并使用 ~ 代替 bool 否定的讨论,但我们最终保留了 ! 因为它在 C 和 C++ 等语言中很常见,给它赋予任何其他含义会造成混淆。但它表明,删除它首先是一个选项。

关于julia - 在 Julia 中何时使用 `!`( bool 非)与 `~`(按位非)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73462064/

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