46 lines
2.2 KiB
TeX
46 lines
2.2 KiB
TeX
\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} |