双布尔变量有什么用?
What's the use of double boolean variables?
我正在查看来自 API 的 JSON 数据集,我看到了这样的东西:
"lights_on":1,
"lights_off":0,
"doors_locked":0,
"doors_unlocked":1,
"sensors_tripped":0,
"sensors_not_tripped":1
是我一个人,还是为布尔值的两种状态设置一个变量有点傻?在此示例中,检查 lights_on
的值是否更有意义,如果 0
则必须是 false
,如果 1
则必须是 true
上述 JSON 数据集的优点是什么,其中包含 true
和 false
状态的变量,我应该在我的程序中使用它吗?
这只是模拟您希望 'true' 和 'false' 变量都响应的真实条件。它们的默认值都是 'false',这意味着没有做出任何决定。如果两者都设置为 'true',则做出了不合理的决定。这是确保软件正常工作的一种方法。
奇怪的是,同样的情况适用于 'door open' 或 'door closed' 的远程接触开关。通过为软件分析返回两种状态,用户知道电线没有短路,这可能会导致打开和关闭状态(不合逻辑),并且两条电线都不是错误的,这通常意味着电缆已被切断或传感器被切断不好。
这是最简单的自检形式,可确保软件或硬件状态报告的来源有效。
这将隐式用于块代码正在读取真实世界的布尔输入,下一个代码块将读取 'true' 和 'false' 标志以确保有一个有效答案。同样在现实条件下,将使用数字滤波器来确保答案在大约 1/10 秒内保持不变,具体取决于软件必须以多快的速度响应变化。
然后更多的下游代码将通过发布状态报告、发出警报、更新日志或任何数量的被认为重要的功能来采取行动。
我已经在中构建了这些多阶段线程我的几个用于测试产品的 ATE 单元。
真实世界的输入可能有噪音,软件创建的布尔值可能有错误,因此 any 歧义 MUST 在端点软件采取实际行动之前被过滤掉。
我正在查看来自 API 的 JSON 数据集,我看到了这样的东西:
"lights_on":1,
"lights_off":0,
"doors_locked":0,
"doors_unlocked":1,
"sensors_tripped":0,
"sensors_not_tripped":1
是我一个人,还是为布尔值的两种状态设置一个变量有点傻?在此示例中,检查 lights_on
的值是否更有意义,如果 0
则必须是 false
,如果 1
则必须是 true
上述 JSON 数据集的优点是什么,其中包含 true
和 false
状态的变量,我应该在我的程序中使用它吗?
这只是模拟您希望 'true' 和 'false' 变量都响应的真实条件。它们的默认值都是 'false',这意味着没有做出任何决定。如果两者都设置为 'true',则做出了不合理的决定。这是确保软件正常工作的一种方法。
奇怪的是,同样的情况适用于 'door open' 或 'door closed' 的远程接触开关。通过为软件分析返回两种状态,用户知道电线没有短路,这可能会导致打开和关闭状态(不合逻辑),并且两条电线都不是错误的,这通常意味着电缆已被切断或传感器被切断不好。
这是最简单的自检形式,可确保软件或硬件状态报告的来源有效。
这将隐式用于块代码正在读取真实世界的布尔输入,下一个代码块将读取 'true' 和 'false' 标志以确保有一个有效答案。同样在现实条件下,将使用数字滤波器来确保答案在大约 1/10 秒内保持不变,具体取决于软件必须以多快的速度响应变化。
然后更多的下游代码将通过发布状态报告、发出警报、更新日志或任何数量的被认为重要的功能来采取行动。
我已经在中构建了这些多阶段线程我的几个用于测试产品的 ATE 单元。
真实世界的输入可能有噪音,软件创建的布尔值可能有错误,因此 any 歧义 MUST 在端点软件采取实际行动之前被过滤掉。