long long 可以支持多少位的数?

比如7895373360280285264可以吗?

longlong能支持十进制下大约19位数 你要的数是可以存下的
long long 为64位整数类型,一般的long long为64位,由于负数补码的原因,第一位作为符号位,因此有63位可用。则取值范围为-2^63到2^63-1 取2^10约等于1000多一点,则大概为9x10^18这么多,9后面18个0,建议大大于这个数就考虑高精度相关 具体值为9223372036854775807

或者考虑无符号的unsigned long long 不能表示负数但是可以到2^64-1 具体取值到18446744073709551615 18后面18个0,1.84*10^19
你的数是7后面18个0,正好可以long long 存下,但是再加两下基本就爆负了,基本没有可运算性,作累加统计还行,但要参加大数运算还是高精度或者两个高低位longlong开个结构体搞下吧。建议高精度背下来。
参考资料:
c++有如下基本数据类型
bool 布尔型 - true,false
(signed) char 有符号字符型 1 -128~127
unsiged char 无符号字符型 1 0~255
(signed)short(int) 有符号短整型 2 -32768~32767
unsignedshort(int) 无符号短整型 2 0~65535
(signed) int 有符号整型 4 -(2的31次方)~2的31次方-1
unsigned (int) 无符号整型 4 0~(2的32次方-1)
(signed)long (int) 有符号长整型 4 -(2的31次方)~(2的31次方-1)
unsigned long(int) 无符号长整型 4 0~(2的32次方-1)
float 实型 4 -(10的38次方)~10的38次方
double 双精度型 8 -(10的308次方)~10的308次方
long double 长双精度型* 8 -(10的308次方)~10的308次方
void 无值型 0 无值
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-10-21

可以。在C语言中,在目前主流的64位环境下,long long类型最大值为9223372036854775807。

扩展资料

你可以使用下方的程序得到对应环境下的long long类型最大值。

#include <stdio.h>

#include<limits.h>

int main(void)

{    

printf("%lld",LLONG_MAX);

return 0;

}

本回答被网友采纳
第2个回答  推荐于2017-09-26
  long long能表示2的64个数,因为要考虑正负数,所以是 -2^63 ~ (2^63)-1
  在16位环境下,int/unsigned int 占16位,long/unsigned long占32位
  在32位环境下,int占32位,unsigned int占16位,long/unsigned long占32位
  何时需要使用:
long 和 int 范围是[-2^31,2^31),即-2147483648~2147483647
  64位使用范围:
  不 同的编译器对64位整数的扩展有所不同,VC使用__int64/unsigned __int64,范围是[-2^63, 2^63)和[0,2^64)即-9223372036854775808~9223372036854775807与0~18446744073709551615(约1800亿亿)。
第3个回答  推荐于2019-11-11

long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808

拓展资料:

一字节表示八位,即:1byte = 8 bit;

int: 4byte =  32 bit 有符号signed范围:2^31-1 ~ -2^31即:2147483647 ~ -2147483648无符号unsigned范围:2^32-1 ~ 0即:4294967295 ~ 0

long: 4 byte = 32 bit 同int型

double: 8 byte = 64 bit 范围:1.79769e+308 ~ 2.22507e-308

long double: 12 byte = 96 bit 范围: 1.18973e+4932 ~ 3.3621e-4932

float: 4 byte = 32 bit 范围: 3.40282e+038 ~ 1.17549e-038

unsigned long long的最大值:18446744073709551615

__int64的最大值:9223372036854775807
__int64的最小值:-9223372036854775808
unsigned __int64的最大值:18446744073709551615

参考资料:数据类型范围

本回答被网友采纳
第4个回答  2011-12-10
64位长整范围
-2^63到2^63-1

7895373360280285264不支持的,这么大的数需要用字符数组存储,可以参考大数运算的做法
相似回答