我试过long long成功扫描整数; 但是,我不知道如何扫描更大的整数long long.如何将一个扫描整数更大的比long long在C?例如,long long long.
没有标准的库函数可以保证与更宽的整数一起使用long long int.而且没有比它宽的便携式数据类型long long int.(另外,long long int不保证长度超过64位,也可能是宽度long.)
换句话说,如果你想使用非常大的整数,你需要一个库.这些通常被称为"bignum库",你可以轻松搜索一个.
编辑(包括实现具有另一个整数类型的理论可能性,如@chux所述):
从理论上讲,一个C实现可以具有整数比更宽long long,在这种情况下的最宽,例如整数类型(符号和无符号)将被称为intmax_t和uintmax_t.否则,以及更常见的,intmax_t并且uintmax_t是类型定义long long和unsigned long long.您可以通过应用长度修饰符来使用intmax_t变量scanf和printf函数j.例如:
/* Needed for intmax_t */
#include <stdint.h>
#include <stdio.h>
int main() {
intmax_t probably_long_long;
if (1 == scanf("%jd", &probably_long_long))
printf("The number read was %jd\n", probably_long_long);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6561 次 |
| 最近记录: |