大佬教程收集整理的这篇文章主要介绍了是否有可能在C/C++中获得确定/绝对大小的类型?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
无论如何,有没有合理的方法来要求一个正好n位/字节的整数?我甚至不需要一种指定任意长度或任何奇怪的方法,我只想要一个明确的2字节或最终4字节的类型.比如“int32”或者其他东西.
目前,我正在处理的方法是使用N长度的char数组,然后将其转换为int *并解除引用.
(我想要这样做的原因与直接从结构中读取/写入文件有关 – 我承认,有了这个,我将不得不担心结构打包和字节顺序以及其中的东西,但这是另一个问题……)
此外,与类似超级有限的嵌入式系统的“兼容性”并不是特别关注的问题.
谢谢!
#include <cstdint> std::int8_t c; // 8-bit unsigned Integer std::int16_t s; // 16-bit unsigned Integer std::int32_t i; // 32-bit unsigned Integer std::int64_t l; // 64-bit unsigned Integer
和相应的无符号类型
std::uint8_t uc; // 8-bit unsigned Integer std::uint16_t us; // 16-bit unsigned Integer std::uint32_t ui; // 32-bit unsigned Integer std::uint64_t ul; // 64-bit unsigned Integer
如注释中所述,这些类型也可以从stdint.h头文件中获得,而不带std :: namespace前缀:
#include <stdint.h> uint32_t ui;
除了确定大小的类型之外,这些头文件还定义了类型
>至少n位宽但可能更大,例如int_least16_t,至少16位>提供具有至少n位但可能更大的整数的最快实现,例如,std :: int_fast32_t,至少32位.
以上是大佬教程为你收集整理的是否有可能在C/C++中获得确定/绝对大小的类型?全部内容,希望文章能够帮你解决是否有可能在C/C++中获得确定/绝对大小的类型?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。