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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 无值
参考技术A

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

扩展资料

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

#include <stdio.h>

#include<limits.h>

int main(void)

   

printf("%lld",LLONG_MAX);

return 0;


参考技术B   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亿亿)。
参考技术C

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

参考资料:数据类型范围

参考技术D 64位长整范围
-2^63到2^63-1

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

在C/C++里,long long型的范围是多少,输入输出格式是啥?

long long 的字符长度是int型的两倍,现在int型一般为32位,所以long long是64位的,能支持的最大数为2^63 -1。

在VC6.0里并不支持long long,它使用的是__int64,具有相似的效果

long long 输出格式为%lld

__int64 输出格式为 %I64d

C语言是在70年代初问世的。一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合著了著名的“THE C PROGRAMMING LANGUAGE”一书。通常简称为《K&R》,也有人称之为《K&R》标准。但是,在《K&R》中并没有定义一个完整的标准C语言,后来由美国国家标准学会在此基础上制定了一个C 语言标准,于一九八三年发表。通常称之为ANSI C。

早期的C语言主要是用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用。成为当代最优秀的程序设计语言之一。

C语言是当今最流行的程序设计语言之一,它的功能丰富、表达力强、使用灵活方便、应用面广、目标程序高、可植入性好,既有高级语言的特点,又有低级语言的许多特点,适合作为系统描述语言,既可以用来编写系统软件,也可以用来编写应用软件。C语言诞生后,许多原来用汇编语言编写的软件,现在都可以用C语言编写了(如UNIX操作系统),而学习和适用C语言要比学习和适用汇编语言容易得多。

C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。

参考技术A

long型范围:-9223372036854775808-9223372036854775807 

输出格式:printf("%lld",变量名);

输入格式:scanff("%lld",变量名);

一、 long long 是C99标准对整型类型做的扩展,每个long long类型的变量占8字节,64位。其表示范围为-9223372036854775808~9223372036854775807。
二、long long 类型输出的时候,需要用printf函数,用%lld格式输出。 示例代码如下:
long long a = 1234;
printf("a=%lld\\n", a);
三、输出的各种可用于%d上的格式控制,均可用于%lld上,比如%10lld,表示输出占十位宽度等。

以上是关于long long 可以支持多少位的数?的主要内容,如果未能解决你的问题,请参考以下文章

long类型截取后几位

32位操作系统中,int,long占用4字节,short占用2字节…… 那64位的呢

C语言中long类型指针类型长度到底是多少

C语言中long类型指针类型长度到底是多少

filename too long——探究Linux支持最长文件名255字节还是字符

EXCEL2007中最多可以转10位二进制的数,我想把40位的二进制转成十进制的数,有啥办法?