在我的电脑上,
int : 4 byte
long int : 4 byte
long long int : 8 byte
long double : 12 byte
unsigned long double : 12 byte
float : 4 byte
我应该使用哪种变量类型来保持数字大到10 ^ 18?
答案 0 :(得分:8)
要获得精确的表示,您可以使用long long
。它最多可容纳2 ^ 63-1,即> 10 ^ 18。
任何float
类型也可以使用,但表示将是近似的。
答案 1 :(得分:2)
或者,如果您想在没有限制的情况下进行算术,请使用GMP
答案 2 :(得分:0)
要将10 ^ 18保持为整数,您需要一个64位宽的整数类型。这是因为int
,long int
等。人。各平台之间的大小各不相同,某些库提供的类型保证具有一定的大小。例如,在gnu C库中:
#include <stdint.h>
uint64_t myint;
或来自gnome的glib库:http://developer.gnome.org/glib/
#include <glib.h>
guint64 myint;