int和double的区别是什么?

如题所述

int 和 double 都是基本数据类型, int 是整形, double 是浮点型。

1.int 型变量占用的存储空间和机器字一样大,即 32位系统中是 4个字节; 64位系统中是 8个字节;

而 double 型变量 一般占用8字节,double 型变量占用的存储空间不会小于 int 型变量。

2.double 型表示的值范围要比 int 表示的值范围大,且从 double 值转换到 int 值,会进行四舍五入,从而有精度损失。

扩展资料

一整形

1.整形有char、short、int、long、long long,这5个也默认为signed XX ;

规则:short至少16位;int至少和short一样;long至少32位,且至少和int一样长;long long至少64位,且至少和long一样长。

其中,后面4个都有无符号变体。unsigned short、unsigned int、unsigned long、unsigned long long.

注意,unsigned本身是unsigned int的缩写。

可以看到,在32位和64位计算机上,对于整形唯一不同的就是int和指针的大小,其中32位计算机上int占2字节,64位上占4字节。指针大小和int大小相同。

2.wchar_t

char是8位字符类型,最多只能包含256种字符,许多外文字符集所含的字符数目超过256个,char型无法表示。

wchar_t数据类型一般为16位或32位.

总之,wchar_t所能表示的字符数远超char型。

标准C++中的wprintf()函数以及iostream类库中的类和对象能提供wchar_t宽字符类型的相关操作。

3.++11新增类型:char16_t和char32_t

char16_t:16位无符号->前缀u表示

char32_t:32位无符号->前缀U表示

二、浮点型

浮点有3个,float、double、long double

规则:float至少4字节;double至少6字节,且不少于float;long double至少和double一样多。

通常float32位,double64位,long double80、96或128位。我在VS2013上测到long double位64位。

参考资料

百度百科-C++

百度百科-数据类型

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-09-29
int和double是C++中的两种基本数据类型,它们主要的区别体现在以下三个方面:

存储空间:int型变量在32位系统中所占用的存储空间为4个字节,而在64位系统中所占用的存储空间为8个字节。而double型变量在大多数情况下占用的存储空间为8个字节。
精度:int型变量所能表达的值的范围比double型变量小,而且它从double值转换到int值,会进行四舍五入,从而有可能产生精度损失。
类型:int是整形,而double是浮点型。

以上信息仅供参考,如有需要,建议查阅专业书籍或者咨询专业人士。