C语言long是几个字节?

long为四个字节,一个字节占8位,因此四个字节占32位

32位系统long占几个字节 32位机long32位系统long占几个字节 32位机long


32位系统long占几个字节 32位机long


32位系统long占几个字节 32位机long


printf("%ld %ld %ld %ld",sizeof(int),sizeof(char),sizeof(long),sizeof(short));

试一试,就全都知道了,long占4个字节

C语言long是几个字节?

32位系统中 long 是4个字节;64位系统中long 是8个字节 C语言常用数据类型字节数(32位系统环境下)

1、void : 4 bytes

2、 char: 1 bytes

3、short: 2 bytes

4、int: 4 bytes

5、long: 4 bytes

6、long long: 8 bytes

7、float: 4 bytes

8、double: 8 bytes

9、long double: 12 bytes

和char类型有关。c认为char的长度为1字节,一般char为8位,long32位,则long为4字节。但有些特殊系统中char可能不为8位,比如说16位,则32位long占2个字节。

在C语言中,int类型,long类型,float类型,double类型和char类型在16位和32位计算机中各占几个字节?

楼上正解。ANSIC标准里是没有规定占多少字节的,准确地说与你的计算机CPU位数和作系统位数无关,类型大小是由编译器厂商compiled时定义的,具体你可以在你编译器sizeof看一下。

不同的编译器所规定的字节数有所异,可以用函数sizeof()进行测试,例如想测试int类型占多少字节:printf("sizeof(int)=%dn",sizeof(int));结果就是int类型所占的字节数!

不一定,这取决于编译器。

你可以用sizeof分别查看,每个字节8位这是可以肯定的。

16位是32位的一半。你用 seizeof 就可以测得各类型的字节数

long int 32位占多少字节

占4个字节,和int一样

long long int不是所有编译器都支持的,有些支持这种数据类型的,可能是真支持,也可能是模拟支持,总之它不是标准类型。在.NET4框架中,有64位的长整型数据,这个框架下的所有语言都能使用,但不是所有语言本身都有定义这样的数据类型,也就是说,你尽可使用_int64或System.Int64来定义64位的整数,但未必有long long这样的定义。

VS2010的.NET4中,C#语言的int是32位的,long是64位的,但其C++的int和long都是32位的,后者支持64位的long long类型。long,对前者,编译后的BCL数据类型是System.Int64,对后者则是System.Int32,把long long编译为System.Int64。这个框架下所有语言的数据类型,在编译后都是这种BCL数据类型,是看不出来原先用什么定义的,而且,所有语言编译之后使用的执行库,都是一样的,各种语言之间的执行效率几乎没有别,别在你熟悉哪种语言编程而已。

经典的书也有告诉你编程时不要定数据的具体尺寸。union对内置数据类型的尺寸很敏感,因此编程经验也有告诫慎用union,除非你决定不考虑移植环境,否则不要使用这个东西。

32位的long型和int型都占四个字节,那么它们的取值范围是否一样?

32位,long,int都是四个字节,取值都是一样的。

我写了测试代码,用无符号型int和long分别存储-1。然后打印出来就是值。

#include

64位的Windows使用的是LLP64(long long and point 64)模型。参照下表:

答:32位的long型和int型都占四个字节,那么它们的取值范围是同样的。

可以用以下语句查询(需要limits.h头文件):

printf(" INT_MAX = %d

这个得看你用的是什么程序语言和什么编译器.

按你的叙述来说, 可能是C/C++在32位编译器下.

long的完整写法应该是 long int

long int和int在32位编译器下都是4字节,效果完全相同,取值范围也一样.

但在其他编译器上就可能不一样.

long int固定为32位, int根据编译器而变.

一样。

只要确认int和long都占据四个字节,那么就是一样的。你可以看看limits.h头文件中对于int和long取值范围的定义。

在codeblock中见到的limits.hint和long的取值范围如下:

#define INT_MAX 2147483647

#define INT_MIN (-INT_MAX-1)

#define LONG_MAX 2147483647L

#define LONG_MIN (-LONG_MAX-1)

只要是32位,4个字节,那取值范围就是一样的,long和int的字节数是取决于编译器的,一般来说long是32位,int是16位。 可以在编译器里编写个小程序,输出long变量和int变量的值看看

一样,你可以通过定义一个数为long和int型 然后令他等于比较大到显示不了就可以测出来是一样的

一样,但是并不是所有时候int和long都是4个字节,这取决于作系统和编译器。

取值范围是一样的 都是四个字节

至于为什么还要保留long,可能是为了兼容性吧 。

long类型与int类型的在都是占4个字节时,其取值范围一模一样

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

一样的

他们两者的不同是64位作系统的数据宽度为64位,64位指令集可以运行64位数据指令,也就是说处理器一次可提取64位数据(只要两个指令,一次提取8个字节的数据),比32位(需要四个指令,一次提取4个字节的数据)提高了一倍。

32位和64位系统,C语言中char,short,int,long,char,int,int各占多少字节

TC中char(1),short(2),int(2),long(4),char(4),int(4),int(4)

VC中char(1),short(2),int(4),long(8),char(4),int(4),int(4)

跟作系统没有关系,跟使用的编译器有关

32位的long型和int型都占四个字节,那么它们的取值范围是否一样?

这个得看你用的是什么程序语言和什么编译器.

按你的叙述来说,

可能是C/C++在32位编译器下.

long的完整写法应该是

long

int

long

int和int在32位编译器下都是4字节,效果完全相同,取值范围也一样.

但在其他编译器上就可能不一样.

long

int固定为32位,

int根据编译器而变.