【发布时间】:2010-09-03 16:12:38
【问题描述】:
【问题讨论】:
-
如“所有平台和实现的最大尺寸?”
-
我的意思是如何获得他可以分配给变量的最大值,这样就不会发生溢出。
标签: c
【问题讨论】:
标签: c
如果您想知道可以存储在给定数据类型的变量中的最大值和最小值,可以检查这些不同的常量:
LONG_MIN、LONG_MAX,其余的请参见 here。
【讨论】:
没有最大尺寸。数据类型具有大小,并且在该实现中保持不变。您可以通过sizeof(datatype) 获取。
如果您要求数据类型可表示的最大数字,那么对于无符号类型,您可以使用(unsigned type)-1。如果您只使用无符号类型定义(size_t 等)并且不知道确切的基础类型名称,这将很有用。对于签名类型,这将不起作用。不过有一些宏(包括无符号变体)
INT_MAX /* maximal int value */
LONG_MAX /* maximal long value */
UINT_MAX /* maximal unsigned int value */
/* etc... */
【讨论】: