1.为什么扩展变换比压缩变换安全?
因为压缩类型转换操作中信息更易丢失
2.判断以下各类型转换属于扩展类型转换还是要所累转换。
a.int型到long型
扩展类型
b.int型到byte型
压缩类型
c.byte型到short型
扩展类型
d.byte型到char型
扩展类型
e.short型到double型
扩展类型
3.假设result 是一个float型变量,value 是一个int 型变量。执行以下赋值语句以后,变量value 将是什么类型?为什么?
result = value:
在执行这条语句的过程中,保存在vulue变量中的值被读取出来并转化为int类型然后复制到value变量代表存储单元。
4.假设result 是一个float型变量,其值为27.32 ,value 是一个int 型变量,其值为15。执行以下赋值语句以后,两个变量的值将是什么类型?为什么?
value = (int) result;
在执行这条语句的过程中,保存在result中的值被读取出来并转换为int类型,然后复制带value变量代表的存储单元。但result变量本身没有变化,所以它还是27.32但value的值变为27
5.根据变量声明,下列各赋值语句中存放的结果是什么?
in tiResult,num1=17 ,num2=5;
double fResult,val1=12.0 , val2=2.34;
a.iResult = num1 / num2; 存放3,整除。两个操作数都是整型数。
b.fResult = num1 / num2; 存放3,整除。尽管两个操作数都是整型数。但是结果在赋值时被转换成float型数。
c.fResult = val1 / num2; 2.4带小数除法。因为有一个操作数是float型
d.fResult = (double)num1 / num2; 3.4带小数将第一个操作数转换成双精度型
e.fResult =(int) val1 / num2; 2整除。因为vall被强制转换为int型,两个操作数都是整形数。