在集群上运行的一个R程序爆了以下的错误:
attempting to create a factor with more than INT_MAX levels.
让我不由地想看一下INT_MAX是多少,不行就换成LONG_MAX
代码如下
#include <stdio.h>
#include <limits.h>
int main()
{
printf("The number of bits in a byte %d\n", CHAR_BIT);
// -----------
printf("SIGNED CHAR-SCHAR_MIN = %d\n", SCHAR_MIN);
printf("SIGNED CHAR-SCHAR_MAX = %d\n", SCHAR_MAX);
printf("UNSIGNED CHAR MAX-UCHAR_MAX = %d\n", UCHAR_MAX);
// -----------
printf("SHRT_MIN = %d\n", SHRT_MIN);
printf("SHRT_MAX = %d\n", SHRT_MAX);
// -----------
printf("INT_MIN = %d\n", INT_MIN);
printf("INT_MAX = %d\n", INT_MAX);
// -----------
printf("CHAR_MIN = %d\n", CHAR_MIN);
printf("CHAR_MAX = %d\n", CHAR_MAX);
// -----------
printf("LONG_MIN = %ld\n", LONG_MIN);
printf("LONG_MAX = %ld\n", LONG_MAX);
return(0);
}
gcc编译后运行,得到如下结果:
我只关心INT_MAX和LONG_MAX
The maximum value of INT_MAX = 2147483647
The maximum value of LONG_MAX = 9223372036854775807
看来21亿已经不够大了!那就换“百京”吧!
京、十京、百京、千京 分别是17 18 19 20位数
十亿为兆,十兆为京,十京为垓
peace out : )
(Copyright © https://blog.csdn.net/s_gy_zetrov. All Rights Reserved)
visitor tracker