如何为布尔变量分配 16 位编码值(例如,汉明码)以避免由于位翻转导致的错误状态?
问问题
185 次
1 回答
-1
布尔值在platform_types.h
文件中定义。根据标准,它是 typedef uint8
。
[SWS_Platform_00027] ⌈标准 AUTOSAR 类型布尔值应实现为无符号整数,其位长是平台本机支持的最短位长(通常为 8 位)。
同样在这个文件中TRUE
和FALSE
被定义为0
和1
。这也符合标准[SWS_Platform_00056]
如果您愿意超出标准,您可以将这些定义更改为汉明码。但是你需要小心
TRUE
并且FALSE
也可以在项目的其他地方定义。- 一些实现可能不使用宏
TRUE
并将FALSE
值分配给布尔变量。他们可能使用 0 和 1 的幻数,在这种情况下,您将在运行时出错。
于 2019-05-14T03:24:19.330 回答