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

c语言longlong

发布时间: 2023-08-13 06:30:15

⑴ 关于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发生了溢出,产生了不正确的结果。

⑵ 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语言long和long long有什么区别

long long在win32中是确实存在,长度为8个字节;定义为LONG64。
为什么会出现long int呢,在win32现在系统中,长度为4;在历史上,或者其他某些系统中,int长度为2,是short int。
即便是long long,在TI的有款平台中,长度为5。
也就是说,每种类型长度,需要sizeof才知道,如果可能,最好用union看看里面的数据,可以消除一些类型的假象长度。

热点内容
x3000r存储卡 发布:2025-03-19 00:12:22 浏览:219
ie不显示脚本错误 发布:2025-03-19 00:09:53 浏览:954
免费网页源码 发布:2025-03-19 00:09:00 浏览:259
工业企业数据库 发布:2025-03-18 23:51:44 浏览:93
宝马车的配置主要看哪些 发布:2025-03-18 23:50:09 浏览:484
esxi虚拟存储 发布:2025-03-18 23:49:59 浏览:771
mc自己开服务器地址 发布:2025-03-18 23:47:10 浏览:701
蓝凌关联配置什么意思 发布:2025-03-18 23:46:16 浏览:347
云存储vmware 发布:2025-03-18 23:41:51 浏览:890
怎么从配置模式转到用户模式 发布:2025-03-18 23:36:07 浏览:334