《新标准C》习题解答:第一章1-10题及二进制、十六进制转换
根据题目要求,我们需要对一些十进制数进行二进制和十六进制的表示,以及对一些十六进制数进行十进制的转换。具体解答如下: 1. 将下列十进制数表示成16位二进制形式和4位十六进制形式: 255十进制:对于16位二进制形式,最高位为符号位,正数的符号位为0,负数的符号位为1,所以255的16位二进制形式为0000 0000 1111 1111。对于4位十六进制形式,十进制255对应的十六进制数为FF。 -254十进制:对于16位二进制形式,负数的符号位为1,所以-254的16位二进制形式为1111 1111 0000 0010。对于4位十六进制形式,十进制-254对应的十六进制数为FF02。 -1十进制:负数的符号位为1,所以-1的16位二进制形式为1111 1111 1111 1111。对于4位十六进制形式,十进制-1对应的十六进制数为FFFF。 10十进制:正数的符号位为0,所以10的16位二进制形式为0000 0000 0000 1010。对于4位十六进制形式,十进制10对应的十六进制数为000A。 20十进制:正数的符号位为0,所以20的16位二进制形式为0000 0000 0001 0100。对于4位十六进制形式,十进制20对应的十六进制数为0014。 -12十进制:负数的符号位为1,所以-12的16位二进制形式为1111 1111 1111 0100。对于4位十六进制形式,十进制-12对应的十六进制数为FFF4。 2. 将下列16位的有符号二进制数转换成十进制形式: 1000 1111 0000 1111:首位为符号位,正数的符号位为0,所以此数为正数。其余位为数值位,根据二进制转十进制的原理,依次乘以2的相应次方并相加,计算结果为(27 * -16)+(26 * 15)+(25 * 0)+(24 * 15)= -4096 + 3840 + 0 + 15 = -4096 + 3855 = -241。 0000 1011 0000 1111:首位为符号位,正数的符号位为0,所以此数为正数。其余位为数值位,根据二进制转十进制的原理,依次乘以2的相应次方并相加,计算结果为(23 * 8)+(22 * 11)+(21 * 0)+(20 * 15)= 24 + 44 + 0 + 15 = 83。 1111 1111 0000 1111:首位为符号位,负数的符号位为1,所以此数为负数。其余位为数值位,根据二进制转十进制的原理,依次乘以2的相应次方并相加,计算结果为(27 * -8)+(26 * -7)+(25 * 0)+(24 * 15)= -2048 - 1792 + 0 + 15 = -3845。 1111 1111 1111 1110:首位为符号位,负数的符号位为1,所以此数为负数。其余位为数值位,根据二进制转十进制的原理,依次乘以2的相应次方并相加,计算结果为(27 * -8)+(26 * -7)+(25 * -6)+(24 * -5)+(23 * -4)+(22 * -3)+(21 * -2)+(20 * 0)= -2048 - 1792 - 1536 - 1280 - 896 - 768 - 512 + 0 = -9784。 1000 0000:首位为符号位,负数的符号位为1,所以此数为负数。其余位为数值位,根据二进制转十进制的原理,依次乘以2的相应次方并相加,计算结果为(27 * -128)+(26 * 0)+(25 * 0)+(24 * 0)+(23 * 0)+(22 * 0)+(21 * 0)+(20 * 0)= -32768 + 0 + 0 + 0 + 0 + 0 + 0 + 0 = -32768。 综上所述,给定的题目中的数的二进制和十六进制的表示以及有符号二进制数的十进制转换都得到了解答。
剩余44页未读,继续阅读