long和int long和int转换
32位的long型和int型都占四个字节,那么它们的取值范围是否一样?
在vc6下没有区别,都是4个字节。我写了测试代码,用无符号型int和long分别存储-1。然后打印出来就是值。
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< 20; 在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,会自动转换 如果是64位主机,int占64位,但这不是一定的,还要看编译器类型等因素。 在C语言中,double、long、unsigned、int、char类型数据所占字节数和机器字长及编译器有关系: 所以,int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的): 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是一字节sho应该用==,如下实测:rt一般是两字节int是四字节long也是四字节...(上面说的是VC编译的,这个多少字节和编译有关系的...在TC下又有所不同) 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都表示short int至少应为16位(2字节)整型,int一般比long表示的整型型数值要小,一般取决于编译器。 long 占用4个字节, int类型是自动系统位宽,除非用__int32 或者__int64显式声明 早期的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, 范围:-9223372036854775808到9223372036854775807 解释: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)。int long 与 int 能计算吗?
long: 4个字节c语言计算int型数据的字长,求大神详细解释
用long的时候一般都是运算超大的整形数用int类型也能溢出的时候整型数据类型中的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个字节。Long和int比较用==还是用equals
unsigned int : 4个字节c语言中int和long的区别
3、长整型:类型说明符为long int或long,在内存中占4个字节。c语言中int与long的区别
理解他们的意思就行了,不必太执着long的范围是怎么样的
都是基础数据类型,只是表示的数据值范围不同,一个大一个小。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。