繁体   English   中英

长12位数?

[英]long for 12 digit number?

我试图使用12位long的数字,但它说的是“整数常量对于”long“类型来说太大了”,我尝试用C ++和Processing(类似于Java)。 发生了什么,我应该用它做什么?

在C和C ++中(与Java不同), long的大小是实现定义的。 有时它是64位,有时它是32.在后一种情况下,你只有足够的空间容纳9位小数。

要保证64位,可以使用long long类型或固定宽度类型,如int64_t

如果要指定文字常量,则必须使用相应的类型说明符:

int i = 5;
unsigned i = 6U;

long int i = 12L;
unsigned long int i = 13UL;

long long int i = 143LL;
unsigned long long int i = 144ULL;

long double q = 0.33L;

wchar_t a = L'a';

尝试在msvc中使用long long in gcc或__int64

我不知道在C ++中,但在C语言中,有一个名为<stdint.h>的头文件,它可以携带具有所需位数的整数类型。

int8_t 
int16_t
int32_t
int64_t

和他们的未签名对应物(uint8_t等)。

更新:标头在C ++中称为<cstdint>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM