基本类型的限制

基本类型的限制 — 标准类型限制测试的可移植的方法

Synopsis

#include <glib.h>

#define             G_MININT
#define             G_MAXINT
#define             G_MAXUINT

#define             G_MINSHORT
#define             G_MAXSHORT
#define             G_MAXUSHORT

#define             G_MINLONG
#define             G_MAXLONG
#define             G_MAXULONG

#define             G_MININT8
#define             G_MAXINT8
#define             G_MAXUINT8

#define             G_MININT16
#define             G_MAXINT16
#define             G_MAXUINT16

#define             G_MININT32
#define             G_MAXINT32
#define             G_MAXUINT32

#define             G_MININT64
#define             G_MAXINT64
#define             G_MAXUINT64

#define             G_MAXSIZE
#define             G_MINSSIZE
#define             G_MAXSSIZE

#define             G_MINOFFSET
#define             G_MAXOFFSET

#define             G_MINFLOAT
#define             G_MAXFLOAT

#define             G_MINDOUBLE
#define             G_MAXDOUBLE

Description

这些宏提供了可移植的方法来检测某些标准整形和浮点类型的限制

Details

G_MININT

#define G_MININT INT_MIN

gint 能表示的最小值。


G_MAXINT

#define G_MAXINT INT_MAX

gint 能表示的最大值。


G_MAXUINT

#define G_MAXUINT UINT_MAX

guint 能表示的最大值。


G_MINSHORT

#define G_MINSHORT SHRT_MIN

gshort 能表示的最小值。


G_MAXSHORT

#define G_MAXSHORT SHRT_MAX

gshort 能表示的最大值。


G_MAXUSHORT

#define G_MAXUSHORT USHRT_MAX

gushort 能表示的最大值。


G_MINLONG

#define G_MINLONG LONG_MIN

glong 能表示的最小值。


G_MAXLONG

#define G_MAXLONG LONG_MAX

glong 能表示的最大值。


G_MAXULONG

#define G_MAXULONG ULONG_MAX

gulong 能表示的最大值。


G_MININT8

#define G_MININT8 ((gint8)  0x80)

gint8 能表示的最小值。

Since 2.4


G_MAXINT8

#define G_MAXINT8 ((gint8)  0x7f)

gint8 能表示的最大值。

Since 2.4


G_MAXUINT8

#define G_MAXUINT8 ((guint8) 0xff)

guint8 能表示的最大值。

Since 2.4


G_MININT16

#define G_MININT16 ((gint16)  0x8000)

gint16 能表示的最小值。

Since 2.4


G_MAXINT16

#define G_MAXINT16 ((gint16)  0x7fff)

gint16 能表示的最大值。

Since 2.4


G_MAXUINT16

#define G_MAXUINT16 ((guint16) 0xffff)

guint16 能表示的最大值。

Since 2.4


G_MININT32

#define G_MININT32 ((gint32)  0x80000000)

gint32 能表示的最小值。

Since 2.4


G_MAXINT32

#define G_MAXINT32 ((gint32)  0x7fffffff)

gint32 能表示的最大值。

Since 2.4


G_MAXUINT32

#define G_MAXUINT32 ((guint32) 0xffffffff)

guint32 能表示的最大值。

Since 2.4


G_MININT64

#define G_MININT64 ((gint64) G_GINT64_CONSTANT(0x8000000000000000))

gint64 能表示的最小值。


G_MAXINT64

#define G_MAXINT64 G_GINT64_CONSTANT(0x7fffffffffffffff)

gint64 能表示的最大值。


G_MAXUINT64

#define G_MAXUINT64 G_GINT64_CONSTANT(0xffffffffffffffffU)

guint64 能表示的最大值。


G_MAXSIZE

#define G_MAXSIZE G_MAXUINT

gsize 能表示的最大值。

Since 2.4


G_MINSSIZE

#define G_MINSSIZE G_MININT

gssize 能表示的最下值。

Since 2.14


G_MAXSSIZE

#define G_MAXSSIZE G_MAXINT

gssize 能表示的最大值。

Since 2.14


G_MINOFFSET

#define G_MINOFFSET G_MININT64

goffset 能表示的最小值。


G_MAXOFFSET

#define G_MAXOFFSET G_MAXINT64

goffset 能表示的最大值。


G_MINFLOAT

#define G_MINFLOAT FLT_MIN

gfloat 能表示的最小的正数。

如果你对gfloat能表示的最小值感兴趣,可以使用 -G_MAX_FLOAT。


G_MAXFLOAT

#define G_MAXFLOAT FLT_MAX

gfloat 能表示的最大值。


G_MINDOUBLE

#define G_MINDOUBLE DBL_MIN

gdouble 能表示的最小的正数。

如果你对gdouble 能表示的最小值感兴趣可以使用 -G_MAXDOUBLE。


G_MAXDOUBLE

#define G_MAXDOUBLE DBL_MAX

gdouble 能表示的最大值。