假定编译器规定int和short类型长度分别为32位和16位,执行下列C语言语句: unsigned short x=65530; unsigned int y=x;得到y的机器数为_______。 A 0000 7FFAH B 0000 FFFAH C FFFF 7FFAH D FFFF FFFAH请教我
时间: 2023-05-29 15:03:24 浏览: 1407
类型修饰符-C语言 数据类型
答案为B,0000 FFFAH。
解析:
在将一个short类型变量赋值给int类型变量时,编译器会将short类型自动转换为int类型,并将高16位补0。
因此,将65530(二进制表示为1111 1111 1110 1010)赋值给unsigned short类型变量x时,x的二进制表示为1111 1111 1101 0101。将x赋值给unsigned int类型变量y时,y的二进制表示为0000 0000 0000 0000 1111 1111 1101 0101,即0000 FFFAH。
阅读全文