请教:开发中uint_fast8_t和uint8_t这类typedef定义有何不同

2019-12-10 18:29发布

如题,用了多年后者,偶尔也见过用前者的, 有明白的给阐述下,好彻底掌握。  在嵌入式开发中,两都到底有什么不同,对效率和代码有什么益处。  什么场合用哪个如何选择。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
lostid
1楼-- · 2019-12-10 23:17
冒号前面不是“不耻下问:”么,怎么改了。
huarana
2楼-- · 2019-12-11 01:44
取个名字而已 没什么不同啊,就和你给人取外号一样。好记 好输入就o了

我喜欢用u8 u16  u32  简短 好写。
Zphoenix
3楼-- · 2019-12-11 05:15
uint8_t指定编译器必须使用8位的无符号类型。
uint_fast8_t让编译器选择一个可以容纳8位的无符号类型并且操作最快,根据不同的架构可能是8位/16位/32位或其它大于8位。这种类型用于需要将程序移植到不同的架构并且有性能要求的情况时。
dr2001
4楼-- · 2019-12-11 10:53
 精彩回答 2  元偷偷看……
xf331785508
5楼-- · 2019-12-11 14:05
lostid 发表于 2019-5-30 10:12
冒号前面不是“不耻下问:”么,怎么改了。

成语用错了,本意是求高人解答 。
xf331785508
6楼-- · 2019-12-11 19:17
Zphoenix 发表于 2019-5-30 10:33
uint8_t指定编译器必须使用8位的无符号类型。
uint_fast8_t让编译器选择一个可以容纳8位的无符号类型并且操 ...

我初始也感觉跟编译优化有关。就是不知道是怎样的优化。  你这个解释不错。

一周热门 更多>