C语言问题。一个int型与一个long型数据运算,先将int型转换成long型,啥意思?说详细一点。最好举例。谢谢

[复制链接]
查看11 | 回复3 | 2011-10-18 15:19:56 | 显示全部楼层 |阅读模式
c语言中各种类型的数据分配的内存字节数大小不一样。比如int分配2字节存放,而long 要分配4字节来存放,这样在数学上有一种叫对不齐的说法。那这就出现了这int的2字节与long的4字节如何对齐计算呢而为了保证数据不会出问题,当然是补充字节位了,我们知道给高位填充0的话,不会影响数据本身,但是你要是裁短的话,那就数据丢了。所以让int转换为long的4字节数据吧。...
回复

使用道具 举报

千问 | 2011-10-18 15:19:56 | 显示全部楼层
int a;long b;long c;c=(long)a+b; //做个强制类型转换就可以了其实你说的是编译器自动做的这个事,不用你自己去做,运算的时候注意浮点数和整数之间的转换就行了,int和long这种不用去管基本上...
回复

使用道具 举报

千问 | 2011-10-18 15:19:56 | 显示全部楼层
这是设计者为了保持数据的精确度而设计的,int 型和 long 型在电脑的内存空间不一样...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行