line_c=0;
line_c |= 064; /* wrongly sets bits 2,4 and 5 */
line_c |= 64; /* rightly sets bit 6 */
Run Code Online (Sandbox Code Playgroud)
Misra C指南.这是怎么发生的?请解释.
line_c |= 064; /* wrongly sets bits 2,4 and 5 */
Run Code Online (Sandbox Code Playgroud)
- > 064(前导零)表示八进制64(基数8),它是0011 0100二进制的.
line_c |= 64; /* rightly sets bit 6 */
Run Code Online (Sandbox Code Playgroud)
- >十进制64(基数为10),转换为0100 0000二进制.