其实程序很简单,因为有符号的就是无符号的一半大小,所以直接用无符号赋值-1就会溢出成最大数:
1 | uint8_t int8 = -1; |
写的时候代码自动提示发现了一个带“fast”的类型,还挺神奇,标准上说这些类型是在这个处理器上运算最快的、至少有N位的类型,看输出结果就比较奇妙。
输出结果依次是:
1 | uint8_t: 255 |
可以见到在我的电脑上,fast8是普通的int8,而fast16却用了int32的类型。
其实程序很简单,因为有符号的就是无符号的一半大小,所以直接用无符号赋值-1就会溢出成最大数:
1 | uint8_t int8 = -1; |
写的时候代码自动提示发现了一个带“fast”的类型,还挺神奇,标准上说这些类型是在这个处理器上运算最快的、至少有N位的类型,看输出结果就比较奇妙。
输出结果依次是:
1 | uint8_t: 255 |
可以见到在我的电脑上,fast8是普通的int8,而fast16却用了int32的类型。