\documentclass[全部作业]{subfiles} \input{mysubpreamble} \setcounter{chapter}{2} \begin{document} \chapter{计算机的算术运算} \begin{enumerate} \questionandanswer[3.7]{ [ 5 ]<3.2>假设带符号的8位十进制整数185和122以符号-数值形式存储。计算185+122。是否上溢或下溢,或都没有? }{ 185 转成8位二进制为 $1011\ 1001$,其最高位为1,表示负数,即$185-256=-71$; 122 转成8位二进制为 $0111\ 1010$,其最高位为0,表示正数。 $1011\ 1001 + 0111\ 1010 = 1\ 0011\ 0011$,只有8位,所以结果为$0011\ 0011$,即51。符合结果$-71+122 = 51$,所以没有上溢或下溢。 } \questionandanswer[3.22]{ [ 10 ] <3.5>如果是浮点数,位模式0x0C000000表示的十进制数是什么?使用IEEE 754标准。 }{ 这是32位的浮点数,即单精度浮点数。根据 IEEE 754 标准,即1位符号位、8位指数位、23位尾数位。 $$ \underbrace{0}_{\text{符号位}} | \underbrace{000\ 1100\ 0}_{\text{指数位}}|\underbrace{000\ 0000\ 0000\ 0000\ 0000\ 0000}_{尾数位} $$ 符号位是0,表示正数;指数位是$0001\ 1000$,转化为十进制为24;尾数位是0。 所以位模式0x0C000000表示的十进制数为 $$ (-1)^{\text{符号}}\times (1+\text{尾数})\times 2^{\text{指数}-127} = (-1)^{0}\times (1+0.0)\times 2^{24-127} = 2^{-103} $$ } \questionandanswer[3.23]{ [ 10 ]<3.5>假定采用IEEE 754单精度格式,写出十进制数63.25的二进制表示。 }{ $$ 63.25 = \frac{253}{4} = 1111\ 1101_{2} \times 2^{-2} =1.111\ 1101_{2} \times 2^{5} =(-1)^{0}\times (1+0.111\ 1101)\times 2^{132-127} $$ 根据 IEEE 754 标准,单精度格式为1位符号位、8位指数位、23位尾数位,132转化为8位二进制为$1000\ 0100$,所以十进制数63.25的二进制表示为 $$ \underbrace{0}_{\text{符号位}}|\underbrace{100\ 0010\ 0}_{\text{指数位}}|\underbrace{111\ 1101\ 0000\ 0000\ 0000\ 0000}_{\text{尾数位}} $$ 即 $$ 0100\ 0010\ 0111\ 1101\ 0000\ 0000\ 0000\ 0000 $$ } \end{enumerate} \end{document}