本题考的是不同类型数据间的混合运算。 当运算对象为不同类型时,数据的转换方向为int→unsigned→long→double,本题程序中的变量b为int型,先要转换为unsigned型,int型变量的数值范围为-32768~32767,最高位为符号位,而unsigned所表示的数的范围为0--65535,它的最高位为数值位。由于内存中是以补码形式存储数据的,所以整型的"-1"在内存中的表示为 16个1,最高位的"1"表示符号负,将它转换为unsigned类型,即将原符号位表示符号的"1"看成数值,所以就得到16个数值位1,即65535。 故本题答案为B。