字符型变量转换为长整型变量,进行符号位扩展;长整型变为整型,截掉高一半,数据大小可能发生变化;无符号长整型变为无符号整型,也是截掉高一半,数据大小可能发生变化。
代码实现
long cvt_cl(char );
int cvt_li(long);
unsigned cvt_ulu(unsigned long);
void main()
{
int lim;
static char y=-1;
long m=0xeeeeffff,cly;
unsigned long n=0xffffeeee;
unsigned ulun;
cly=cvt_cl(y);
lim=cvt_li(m);
ulun=cvt_ulu(n);
while(1);
}
long cvt_cl(char x) //字符型变量变为长整型变量实现函数
{
long y;
y=(long) x;
return y;
}
int cvt_li(long x) //长整型变量变为整型变量实现函数
{
int y;
y=(int)x;
return y;
}
unsigned cvt_ulu(unsigned long x) //无符号长整型变量变为无符号整型变量实现函数
{
unsigned y;
y=(unsigned)x;
return y;
}
运行结果