C语言,limits.h
如题,看一看limits.h中的关于数据类型的长度定义
头文件 limits.h
1 // 2 // limits.h 3 // 4 // Copyright (c) Microsoft Corporation. All rights reserved. 5 // 6 // The C Standard Library <limits.h> header. 7 // 8 #pragma once 9 #define _INC_LIMITS 10 11 #include <vcruntime.h> 12 13 _CRT_BEGIN_C_HEADER 14 15 16 17 #define CHAR_BIT 8 // number of bits in a char 18 #define SCHAR_MIN (-128) // minimum signed char value 19 #define SCHAR_MAX 127 // maximum signed char value 20 #define UCHAR_MAX 0xff // maximum unsigned char value 21 22 #ifndef _CHAR_UNSIGNED 23 #define CHAR_MIN SCHAR_MIN // mimimum char value 24 #define CHAR_MAX SCHAR_MAX // maximum char value 25 #else 26 #define CHAR_MIN 0 27 #define CHAR_MAX UCHAR_MAX 28 #endif 29 30 #define MB_LEN_MAX 5 // max. # bytes in multibyte char 31 #define SHRT_MIN (-32768) // minimum (signed) short value 32 #define SHRT_MAX 32767 // maximum (signed) short value 33 #define USHRT_MAX 0xffff // maximum unsigned short value 34 #define INT_MIN (-2147483647 - 1) // minimum (signed) int value 35 #define INT_MAX 2147483647 // maximum (signed) int value 36 #define UINT_MAX 0xffffffff // maximum unsigned int value 37 #define LONG_MIN (-2147483647L - 1) // minimum (signed) long value 38 #define LONG_MAX 2147483647L // maximum (signed) long value 39 #define ULONG_MAX 0xffffffffUL // maximum unsigned long value 40 #define LLONG_MAX 9223372036854775807i64 // maximum signed long long int value 41 #define LLONG_MIN (-9223372036854775807i64 - 1) // minimum signed long long int value 42 #define ULLONG_MAX 0xffffffffffffffffui64 // maximum unsigned long long int value 43 44 #define _I8_MIN (-127i8 - 1) // minimum signed 8 bit value 45 #define _I8_MAX 127i8 // maximum signed 8 bit value 46 #define _UI8_MAX 0xffui8 // maximum unsigned 8 bit value 47 48 #define _I16_MIN (-32767i16 - 1) // minimum signed 16 bit value 49 #define _I16_MAX 32767i16 // maximum signed 16 bit value 50 #define _UI16_MAX 0xffffui16 // maximum unsigned 16 bit value 51 52 #define _I32_MIN (-2147483647i32 - 1) // minimum signed 32 bit value 53 #define _I32_MAX 2147483647i32 // maximum signed 32 bit value 54 #define _UI32_MAX 0xffffffffui32 // maximum unsigned 32 bit value 55 56 // minimum signed 64 bit value 57 #define _I64_MIN (-9223372036854775807i64 - 1) 58 // maximum signed 64 bit value 59 #define _I64_MAX 9223372036854775807i64 60 // maximum unsigned 64 bit value 61 #define _UI64_MAX 0xffffffffffffffffui64 62 63 #if _INTEGRAL_MAX_BITS >= 128 64 // minimum signed 128 bit value 65 #define _I128_MIN (-170141183460469231731687303715884105727i128 - 1) 66 // maximum signed 128 bit value 67 #define _I128_MAX 170141183460469231731687303715884105727i128 68 // maximum unsigned 128 bit value 69 #define _UI128_MAX 0xffffffffffffffffffffffffffffffffui128 70 #endif 71 72 #ifndef SIZE_MAX 73 #ifdef _WIN64 74 #define SIZE_MAX _UI64_MAX 75 #else 76 #define SIZE_MAX UINT_MAX 77 #endif 78 #endif 79 80 #if __STDC_WANT_SECURE_LIB__ 81 #ifndef RSIZE_MAX 82 #define RSIZE_MAX (SIZE_MAX >> 1) 83 #endif 84 #endif 85 86 87 88 _CRT_END_C_HEADER
我自己写的测试代码
1 #include<stdio.h> 2 #include <limits.h> 3 4 void main(void) 5 { 6 printf("The bit number of char is \t%d\r\n", CHAR_BIT); 7 8 printf("The min number of char is \t%d\r\n", CHAR_MIN); 9 printf("The max number of char is \t%d\r\n", CHAR_MAX); 10 11 printf("The min number of schar is \t%d\r\n", SCHAR_MIN); 12 printf("The max number of schar is \t%d\r\n", SCHAR_MAX); 13 14 printf("The max number of uchar is \t%d\r\n", UCHAR_MAX); 15 16 printf("max. # bytes in multibyte char \t%d\r\n", MB_LEN_MAX); 17 18 printf("minimum (signed) short value \t%d\r\n", SHRT_MIN); 19 printf("maximum (signed) short value \t%d\r\n", SHRT_MAX); 20 21 printf("maximum unsigned short value \t%d\r\n", USHRT_MAX); 22 printf("minimum (signed) int value \t%d\r\n", SHRT_MIN); 23 printf("maximum (signed) int value \t%d\r\n", INT_MAX); 24 printf("maximum unsigned int value \t%d\r\n", UINT_MAX); 25 printf("minimum (signed) long value \t%d\r\n", LONG_MIN); 26 printf("maximum (signed) long value \t%d\r\n", SHRT_MIN); 27 printf("maximum unsigned long value \t%d\r\n", ULONG_MAX); 28 printf("maximum signed long long int value \t%d\r\n", LLONG_MAX); 29 printf("minimum signed long long int value \t%d\r\n", LLONG_MIN); 30 printf("maximum unsigned long long int value \t%d\r\n", ULLONG_MAX); 31 32 printf("minimum signed 8 bit value \t%d\r\n", _I8_MIN); 33 printf("maximum signed 8 bit value \t%d\r\n", _I8_MAX); 34 printf("maximum unsigned 8 bit value \t%d\r\n", _UI8_MAX); 35 36 printf("minimum signed 16 bit value \t%d\r\n", _I16_MIN); 37 printf("maximum signed 16 bit value \t%d\r\n", _I16_MAX); 38 printf("maximum unsigned 16 bit value \t%d\r\n", _UI16_MAX); 39 40 printf("minimum signed 32 bit value \t%d\r\n", _I32_MIN); 41 printf("maximum signed 32 bit value \t%d\r\n", _I32_MAX); 42 printf("maximum unsigned 32 bit value \t%d\r\n", _UI32_MAX); 43 }
运行结果
posted on 2016-03-22 22:30 wangzefeng 阅读(942) 评论(0) 编辑 收藏 举报