32位机各数据类型取值范围
CHAR_BIT: 8
CHAR_MAX: 127
CHAR_MIN: -128
SCHAR_MAX: 127
SCHAR_MIN: -128
UCHAR_MAX: 255
SHRT_MAX: 32767
SHRT_MIN: -32768
USHRT_MAX: 65535
INT_MAX: 2147483647
INT_MIN: -2147483648
UINT_MAX: 4294967295
LONG_MAX: 9223372036854775807
LONG_MIN: -9223372036854775808
ULONG_MAX: 18446744073709551615
LLONG_MAX: 9223372036854775807
=================================
2 ^ 8 = 256
2^16 = 65535 6w+
2^32 = 4294967295 42亿
2^64 = 18446744073709551615 2千亿亿
=====================================
我的挫机器做10亿次空循环需要的时间:
Time to do 1073741823 empty loops is 3.342565 seconds
代码:
clock_t start=clock();
int i = 0;
for ( ; i < INT_MAX/2; i++);
clock_t finish = clock();
float duration = (double)(finish - start) / CLOCKS_PER_SEC;
printf("Time to do %d empty loops is %f seconds\n", i, duration);