记一次GCC编译器语法问题
1.代码中将一个无符号的值反转并赋值:
u16variable_now = ~u16variable_before
2.在另一个函数将u16variable_now继续反转并与u16variable_before比较:
u16variable_before 与 ~u16variable_now比较
3.结果不相等不符合预期
原因分析:
gcc等编译器默认会对~u16variable_now的值做有符号处理,此时需要注意强转保持左右类型一致
1.代码中将一个无符号的值反转并赋值:
u16variable_now = ~u16variable_before
2.在另一个函数将u16variable_now继续反转并与u16variable_before比较:
u16variable_before 与 ~u16variable_now比较
3.结果不相等不符合预期
原因分析:
gcc等编译器默认会对~u16variable_now的值做有符号处理,此时需要注意强转保持左右类型一致