关于 数据类型转换的问题
心留 2009-06-15 11:49:34 看下面语句
char c;
long lon;
lon=123456789;
c=lon%16;
编译的时候会提示一个警告 就是 long转char 会截断数据有可能出现数据丢失
但是上面的语句是不会出现数据丢失的。
我知道语句没什么问题 也可以直接编译。
但是有个警告总感觉不舒服(俺是完美主意者)
我尝试把 c=lon%16; 改成 c=(char)(lon%16);
但是这样会出现新的问题 (char)(lon%16)有时候并不等于lon%16,似乎是因为符号的问题。
我现在就是想 取一个long数据的 最低一字节的数据 存到一个char数据里,
要保证不能出现警告。
我知道 long转 short可以用 short=LOWORD(long)
long转 char有没有类似 LOWORD 这样的简单的命令?