这是今天在办公室提出的。具有各种类型的计算,各种语言和各种布尔类型。以下总是如此
true == !false;
答案 0 :(得分:2)
虽然没有语言可以直接表达你的表达式,但是有很多语言都有相关的表达式
someTrueValue == !false
不成立。例如,C及其变体。和Lisp变种,仅举几例。在这些语言中,有一个假值(零或零),其他一切都被认为是真的。因此,!false
将产生其中一个真值,这些值可能与someTrueValue
不同。
答案 1 :(得分:1)
假设true
和false
是表示布尔值的保留关键字,它应该始终为真。
如果语言碰巧没有保留这些关键字(即:旧版本的Python),您总是可以使用这些名称声明一个变量,使true == !false
为假。
答案 2 :(得分:1)
除了true
和false
是变量之外,!
在许多语言中具有不同的含义。虽然我不知道任何使用==
的语言而不是(某种)平等,但它可以是用户定义的。
答案 3 :(得分:0)
是。这是因为!false等于true,而true总是等于true。
答案 4 :(得分:0)
如果有一种语言(true ==!false)== false,那么语言将与布尔逻辑不一致('不一致'正在这里使用非正式和正式意义上布尔逻辑),其结果是可能导出不一致的逻辑断言(例如true == false或false == true)。
这样做的最终结果是,没有值得信赖的逻辑框架支持语言中任何条件的使用,使其变得无用。