当前位置:首页 » 编程语言 » c语言longlong范围

c语言longlong范围

发布时间: 2022-04-26 07:07:57

‘壹’ c语言中int,long的取值范围是多少

主要看编译器怎么对这些类型的数据怎么处理了,不同的编译器可能会给int分配不同的空间,一般在32位系统中会给int分配4个字节,以前的单片机编译器一般会分配1个字节,现在64位的编译器一般会分配8个字节,不同的字节,他们能表示的取值范围也就不一样了。
同样,有符号数和无符号数,表示的数据范围也不一样。比如单片机中的编译器C51,分配一个字节:
无符号数,最大也就是0XFF,即十进制的255。
有符号数,正数0~127,负数-128到-1
其它依次类推
long同样类似

‘贰’ C语言中输出long long型数据怎么输出

C语言中输出long long型数据使用%lld格式输出的方法:

1、 long long 是C99标准对整型类型做的扩展,每个long long类型的变量占8字节,64位。其表示范围为-9223372036854775808~9223372036854775807。

2、long long 类型输出的时候,需要用printf函数,用%lld格式输出。 示例代码如下:
long long a = 1234;printf("a=%lld ", a)。

3、输出的各种可用于%d上的格式控制,均可用于%lld上,比如%10lld,表示输出占十位宽度等。

‘叁’ C语言long是几个字节

C语言中long是4个字节,是一种数据类型,有两种表现形式:有符号和无符号。

在有符号中,long的表示数的范围为:-2147483648~2147483647

在无符号中,long的表示数的范围为::0~4294967295

(3)c语言longlong范围扩展阅读:

整型变量可分为以下几类:

基本型

类型说明符为int,根据计算机的内部字长和编译器的版本,在内存中可能占2或4个字节(通常分别在16位机和32位机上),其取值为基本整常数。

短整型

类型说明符为short int或short,在内存中占2个字节,其取值为短整常数。

长整型

类型说明符为long int或long,在内存中占4个字节,其取值为长整常数。

参考资料来源:

网络-long

网络=整型



‘肆’ 关于C语言中的long long 的问题

signed char有符号字节,表示范围是-128~127,

unsigned char是无符号字节,表示范围是0~255。

long long是有符号长整形,表示范围是-2^63~2^63-1。


signed char,unsigned char都是显式声明的有符号/无符号,而char可能是二者其中之一,由编译器决定。就是说,如果你写char,有可能是signed的,也有可能是unsigned的。但是绝大多数编译器是默认为signed的。


值得注意的是,上面讲的是表示范围,但是无论是C还是C++,signedchar、unsignedchar、char是三种不同的类型。
出现这种情况可以归结为历史原因。早期C没有专用于算术运算的单字节整数类型,实现中也无法保证char使用什么符号(不同符号转换为超过一个字节的整数类型时各个硬件平台的效率有差异)。后来才追加signedchar和unsignedchar。其符号是implementation-defined。


例子:

#include<stdio.h>
intmain()
{
signedchara=255;
unsignedcharb=255;
charc=255;
longlongd=100000000000;
longe=100000000000;
printf("%d ",a);
printf("%d ",b);
printf("%d ",c);
printf("%lld ",d);
printf("%d ",e);
return0;
}

结果:

可以发现可以容纳的大小是不同的。

其中a,c,e发生了溢出,产生了不正确的结果。

‘伍’ c语言中int,long的取值范围是多少为什么是这么多(32位机)

int和long作为基本的整数类型,取值范围和位数直接相关。如果是n位整数的话,最高位表示符号位,剩下的n-1位以补码形式表示绝对值,因此范围是整数区间[-2^(n-1),2^(n-1))。
int和long并没有明确位数,具体和平台相关(有一点可以确定,sizeof(int)<=sizeof(long))。一般而言,32位机的int是32位的,于是范围是[-2^31, 2^31)也就是[-2147483648, -2147483648)。而非int的位数取决于机器字长外还决定于软件平台(操作系统、编译器)上实现的特定的C语言数据模型(专指整数数据模型,不是数据库里讨论的那个),只是一般32位平台上的long都比较统一(基本上都是LP32),为32位,范围和int一致。(如果是64位平台,除了Windows上的LLP64模型中long是32位外,LP64、ILP64、SILP64的long都是64位)。
另外LS错误。首先用的无符号整数写法是错误的,其次printf使用不当(应该用字长无关的%i保证结果正确),再次结果意义不明确。
unsigned int i= -1;
unsigned long l = -1;
printf("%i %i", i, l);
-1转换为无符号数后表示负数的符号位“1”被作为最高非符号位,输出的是无符号整数的最大值。
printf("%i %i", i >> 1, l >> 1);
输出有符号整数最大值,该值加1再乘以-1后即得有符号整数最小值。
====
[原创回答团]

‘陆’ C语言中比long long int 更大的整数类型是什么

  1. long long 类型的范围是:-9223372036854775808~9223372036854775807

  2. 如果只用正数可以考虑用unsigned long long范围是:0~18446744073709551615

  3. 如果需要更大的数字可以考虑使用 数组来储存

  4. 参考大数运算

  5. http://ke..com/link?url=FkfzF-RbPFxaGa_a

‘柒’ objective c语言中的long与long long类型最大最小值分别都是相同的吗

都是相同的,在C语言当中 long == long long。
1. long 是C语言的一个关键字,代表一种数据类型,中文为长整型。
2. long是long int的简写,也就是说,在C语言中long int类型和long类型是相同的。
3. 每个long型占4个字节,在32位编译系统下,long和int占的空间是相同的。这也导致了long型变量使用的越来越少了。
4. long型可以表示的整型数字范围为-2,147,483,648 ~ 2,147,483,647, 即-2^32 ~ 2^32-1。
在用在C的格式化输入输出时,long型的格式化字符为"%ld"。
5. long同其它整型类型一样,可以同unsigned 联合使用,形成unsigned long,即无符号长整型, 其格式化字符为"%lu"。
6. 在部分编译器下,比如gcc, 两个long合用,即long long类型,表示C语言目前最长的系统整型类型,每个long long类型占8字节,64位。其格式化字符为"%lld"。

‘捌’ C语言 关于int和long类型的范围

编译器不同,宽度是不相同,分别如下:

16位编译器:

int: 2个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节


32位编译器:

int: 2个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节


64位编译器:

int: 4个字节
long: 8个字节
long long: 8个字节
unsigned long: 8个字节


具体范围,请看下图:

‘玖’ 在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

‘拾’ long long int 是神马。。。是C语言里面的东西,

“long long int”在C语言中是64位长整型数据类型。

“long long int”在C语言中可以简写为“long long”,作为“long”和“int”数据类型的强化版数据类型,它能支持的整数范围是-2^63到2^63-1。而先前的“long”是32位长整型数据类型,整数范围仅能支持到-2^31至2^31-1。

“long long int”和“unsigned long long int”都是在C99标准中才被引进的。

(10)c语言longlong范围扩展阅读:

C99标准引入的主要新特性:

1、对编译器限制增加了,比如源程序每行要求至少支持到 4095 字节,变量名与函数名的要求支持到 63 字节 (extern 要求支持到 31)。

2、增加了新关键字 restrict,inline,_Complex,_Imaginary,_Bool。

3、支持 long long,long double _Complex,float _Complex 这样的类型。

4、持了不定长的数组。数组的长度就可以用变量了。声明类型的时候呢,就用 int a[*] 这样的写法。不过考虑到效率和实现,这玩意并不是一个新类型。所以就不能用在全局里,或者 struct union 里面,如果你用了这样的东西,goto 语句就受限制了。

5、相较于C89标准,C99标准新增了一种结构体/数组的初始化方式,名叫designated initializers。

6、支持 16 进制的浮点数的描述。

7、增加了一个内置的局部静态字符数组变量 __func__ ,可以用于得到当前函数的函数名。

8、取消了不写函数返回类型默认就是 int 的规定。

热点内容
海量服务器怎么拆 发布:2025-05-16 17:31:07 浏览:209
运行与编译的区别 发布:2025-05-16 17:25:02 浏览:823
c语言for中continue 发布:2025-05-16 17:20:14 浏览:647
ftp储存 发布:2025-05-16 17:04:08 浏览:504
家悦3010怎么看电脑配置 发布:2025-05-16 17:02:38 浏览:885
sqlin传参 发布:2025-05-16 17:02:37 浏览:889
python计算md5 发布:2025-05-16 17:02:32 浏览:427
看算法头疼 发布:2025-05-16 16:56:41 浏览:798
给定文件编译成dll文件 发布:2025-05-16 16:45:05 浏览:730
熔喷机的配置有哪些 发布:2025-05-16 16:45:04 浏览:720