菜鸟问题 数据类型转换
比如byte i;
int t=1111;
i=(byte)t;
就是长数据类型付值给短数据类型,现在的问题是当t强制转换成byte的时候,并没有改变t的位数
也就是仍然是32位,现在把最前8位付给了i,那么剩下的24位就有可能覆盖掉不可知的程序的变量,或者遇到不可访问的区域时甚至造成程序莫名其妙地终止,那么既然这种转换危害这么大,可是为什么
我在程序中却经常碰到呢,是不是我的理解错误了呢,希望指教!
问题点数:20、回复次数:3Top
1 楼lei001(太极)回复于 2006-03-21 23:02:49 得分 0
t的值不会变化的吧Top
2 楼pgmsoul(游侠)回复于 2006-03-21 23:13:34 得分 10
C++把有用的留下,多余的扔了.Top
3 楼sankt(宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒.)回复于 2006-03-22 08:35:00 得分 10
低位留下,放不下的高位则丢弃处理
Top




