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类型最大值。
参考技术B long long能表示2的64个数,因为要考虑正负数,所以是 -2^63 ~ (2^63)-1#include <stdio.h>
#include<limits.h>
int main(void)
printf("%lld",LLONG_MAX);
return 0;
在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语言。
参考技术Along型范围:-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 可以支持多少位的数?的主要内容,如果未能解决你的问题,请参考以下文章
32位操作系统中,int,long占用4字节,short占用2字节…… 那64位的呢