在EDVc++中int double float long int long long int long double char占多少位
时间: 2023-11-04 07:05:52 浏览: 110
在大多数平台上,常见的数据类型在Vc++中占用的位数如下:
- int: 4字节 (32位)
- double: 8字节 (64位)
- float: 4字节 (32位)
- long int: 4字节 (32位)
- long long int: 8字节 (64位)
- long double: 8字节 (64位)
- char: 1字节 (8位)
请注意,这只是一般情况下的占用情况,具体取决于编译器和操作系统的实现。
相关问题
在C语言中(以32位PC为例),以下5种数据类型的存储空间长度的排列顺序为( )。 A.char< int < long int <= float < double B.char= int < long int <= float < double C.char < int =long int = float<double D.char= int= long int <= float < double
答案是B。char和int都是4个字节,long int是8个字节,float是4个字节,double是8个字节。因此,char和int的存储空间长度相同,而long int和double的存储空间长度相同,但是long int比float长。
java中char+int+double结果一定是double型吗
不完全正确。在Java中,char、int和double之间的运算会发生自动类型提升(widening conversion)。具体规则如下:
1. 如果有一个操作数是double类型,那么其他操作数会被转换为double类型,结果也是double类型。
2. 如果有一个操作数是float类型,那么其他操作数会被转换为float类型,结果也是float类型。
3. 如果有一个操作数是long类型,那么其他操作数会被转换为long类型,结果也是long类型。
4. 如果有一个操作数是int类型,那么其他操作数会被转换为int类型,结果也是int类型。
5. 如果两个操作数都是char、byte或short类型,那么它们会被提升为int类型进行计算,结果也是int类型。
在你提到的char+int+double的情况下,首先char和int会被提升为int类型进行相加,然后int和double会被提升为double类型进行相加。因此,最终的结果是double类型。
示例代码如下:
```java
char c = 'A';
int num = 10;
double d = 3.14;
double result = c + num + d;
System.out.println(result); // 输出:79.14
```
在上面的例子中,字符'A'被转换为对应的ASCII码值65(即int类型),然后与整数10相加得到75(int类型),最后与浮点数3.14相加得到79.14(double类型)作为结果。
阅读全文