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

在vc6下没有区别,都是4个字节。

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

long和int long和int转换long和int long和int转换


long和int long和int转换


#inclfloat: 4个字节类型标识符:unsigned long[int]ude

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_MIN (-LONG_MAX-1)

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

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

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

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

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

VC6.0中int与long 两种数据类型有什么区别?

32位系统:int是4字节

好像不同的编译器会分配不同的空间,还跟计算机是多少位的有关,不够一般long是int的两倍长度

int: 4个字节【声明】

在MSDN上int: 4个字节的解释是:

On 32-bit platforms, long is synonymous with int.

即:在32位机上,long与int同义。

long 就是long int 的意思,是占4个字节,而int是占2个字节的。

在VC6.0下没有区别的,都是4个字节

#include

using namespace std;

{cout<

int long 与 int 能计算吗?

long: 4个字节

20;

long的空间大 是int的一倍

在C语言里面,如果两个不同类型的相加,那么相加后的就会自动转换数据类型为比较的;

比如void main()说我定义

float a; int b;

int c;

c=a+b;

在这里,计算a+b所得到的结果是float(a+b)一样的,是float类型;

但后面我有把这个float的结果存储到int里面,也就是把float转换成int

将会去掉float所有小数点。

你的是10+10那么不管你的c定义为什么基本类型(包括char)结果都是等于20;

可以计算,但是你c类型都没指定

int long b=10???没有看见过如此定义.

是不是 long b = 10;

20,会自动转换

c语言计算int型数据的字长,求大神详细解释

用long的时候一般都是运算超大的整形数用int类型也能溢出的时候

如果是64位主机,int占64位,但这不是一定的,还要看编译器类型等因素。

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

在C语言中,double、long、unsigned、int、char类型数据所占字节数和机器字长及编译器有关系: 所以,int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的):

long是4字节,int是2字节或4字节,现在一般的int都是4字节,除非一些比较老的编译器中才是2字节

sizeof(short int)<=sizeof(int)

sizeof(int)<=sizeof(long int)

long int至少应为32位。 unsigned 是无符号的意思。

例如:

16位编译器

char :1个字节

short int : 2个字节

unsigned int : 2个字节

32位编译器

char :1个字节

char(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)

short int : 2个字节

64位编译器

char :1个字节

char(即指针变量): 8个字节

short int : 2个字节

long: 8个字节

整型数据类型中的byte .short .int .long有什么区别?

在16位 int是2个字节,long是4个字节。在32位 int是4个字节,long是4个字节。在6在vc下,int 4 long 4 float 4 double 84位 int是4个字节,long是8个字节。一般long比short,int都长。在32位 long long 是8个字节。

数值的保存范围...byte是一字节sho应该用==,如下实测:rt一般是两字节int是四字节long也是四字节...(上面说的是VC编译的,这个多少字节和编译有关系的...在TC下又有所不同)

Long和int比较用==还是用equals

unsigned int : 4个字节

class Test

为什么会这样?只需看看Long.equa}ls()的源码就知道了:

public final class Long extends Number implements Comparable {

这里obj所引用的实际类型到底是什么?可以通过源码调试看出(Eclipse能正确找到源码路径才行)。也可以通过下面的程序模拟:

class FooLong

可以看到,填int的f.equals(123),obj引用123时,实际引用的是ja.lang.Integer类型

long时,实际引用的是ja.long.Long类int -2^31~2^31-1型

c语言中int和long的区别

3、长整型:类型说明符为long int或long,在内存中占4个字节。

C语言中int和long都表示short int至少应为16位(2字节)整型,int一般比long表示的整型型数值要小,一般取决于编译器。

cpu在进行运算时,如果发现有一个变量要占据的位数更多,会按照更高位数的那个变量进行运算,相当于c=(long int)a+b;然后再按照c的定义进行类型强制转换后赋值。

long 占用4个字节,

int类型是自动系统位宽,除非用__int32 或者__int64显式声明

c语言中int与long的区别

理解他们的意思就行了,不必太执着

早期的C平台是16位int系统,int用二字节表示,范围是-32768~+32767;long是long int的简写,用4字节表示,范围是-2147483648~+2147483647。显然在早期平台下long能表示的整数范围要比int大得多。而时下的平台流行的是32位int系统,即4字节系统,int与long在这样的系统下long 是长整型已经没有区别了,它们都是4字节带符号整数,表数范围都是-2147483648~+2147483647。

标准中规定int型必需16位或更高,long型必需32位,在以前16位机时这两种数据就是一个16bit一个32biint: 2个字节t,但进入x86时代后实际上两者都是32位的,int型一般和

数据范围不一样

long long -2^63~^63-1

没啥区别,六位数以上用long,

long的范围是怎么样的

都是基础数据类型,只是表示的数据值范围不同,一个大一个小。

范围:-9223372036854775808到9223372036854775807

int16

解释:long类型是64位的也就是 ”-2^64“ 到”2^64 -1“.

在定义long类型时,如果数据类型超过int类型的cout<

byte的取值范围为-128~127,占用1个字节(-2的7次方到2的7次方-1)

int的取值范围为(-2147483648~2147483647),占用4个字节(-2的31次方到2的31次方-1)

long的取值范围为(-9223372036854774808~9223372036854774807),占用8个字节(-2的63次方到2的63次方-1)。