C语言问题。一个int型与一个long型数据运算,先将int型转换成long型,啥...
发布网友
发布时间:2022-04-27 09:20
我来回答
共3个回答
热心网友
时间:2022-04-09 15:32
c语言中各种类型的数据分配的内存字节数大小不一样。
比如int 分配2字节存放,而long 要分配4字节来存放,这样在数学上有一种叫对不齐的说法。那这就出现了这int的2字节与long的4字节如何对齐计算呢 而为了保证数据不会出问题,当然是补充字节位了,我们知道给高位填充0的话,不会影响数据本身,但是你要是裁短的话,那就数据丢了。所以让int 转换为long的4字节数据吧。
热心网友
时间:2022-04-09 16:50
int a;
long b;
long c;
c=(long)a+b; //做个强制类型转换就可以了
其实你说的是编译器自动做的这个事,不用你自己去做,运算的时候注意浮点数和整数之间的转换就行了,int和long这种不用去管基本上
热心网友
时间:2022-04-09 18:25
这是设计者为了保持数据的精确度而设计的,int 型和 long 型在电脑的内存空间不一样