在我的电脑上,
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的大小?
发布于 2012-01-24 21:03:33
要获得精确的表示,可以使用long long。它在您的盒子上最多容纳2^63-1,即>10^18。
任何float类型也可以工作,但表示将是近似的。
发布于 2012-01-24 21:05:27
或者,如果您想进行无限制的算术运算,请使用GMP
发布于 2012-01-24 23:56:47
要将10^18作为整数保存,需要64位宽的整数类型。这是因为int,long int,et.阿尔。不同平台的大小不同,某些库提供的类型保证具有一定的大小。例如,在gnu C库中:
#include <stdint.h>
uint64_t myint;或者在gnome的glib库中:http://developer.gnome.org/glib/
#include <glib.h>
guint64 myint;https://stackoverflow.com/questions/8987243
复制相似问题