done bonus question 1
This commit is contained in:
parent
a23d00a981
commit
8a6cc6a3cf
4 changed files with 280 additions and 0 deletions
Binary file not shown.
BIN
Homework 11/bonus.pdf
Normal file
BIN
Homework 11/bonus.pdf
Normal file
Binary file not shown.
280
Homework 11/bonus.tex
Normal file
280
Homework 11/bonus.tex
Normal file
|
@ -0,0 +1,280 @@
|
||||||
|
\documentclass[12pt]{article}
|
||||||
|
\title{Computer Architecture -- Assignment 11 Bonus}
|
||||||
|
\author{Claudio Maggioni \and Tommaso Rodolfo Masera}
|
||||||
|
\date{}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\maketitle
|
||||||
|
|
||||||
|
\section{Bonus Question 1}
|
||||||
|
|
||||||
|
\subsection{Decimal to Hexadecimal}
|
||||||
|
|
||||||
|
\textbf{All the numbers are going to be first converted to binary and then to
|
||||||
|
hexadecimal for an easier calculation}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
|
||||||
|
\item[a)] \textbf{\large 11};
|
||||||
|
|
||||||
|
First we find how 11 is expressed in binary which is 1011 and then we convert it to
|
||||||
|
scientific base 2 notation: $1011 = 1.\textbf{011 } \times 2^3$.
|
||||||
|
|
||||||
|
The sign bit is 0 since $11>0$ and therefore the number is positive.
|
||||||
|
|
||||||
|
To determine the exponent we take the single precision bias (127) and we add to it
|
||||||
|
the amount of times we moved a bit past the floating point: $127 + 3 = 130$.
|
||||||
|
|
||||||
|
We then convert 130 to decimal by successive halving:\\
|
||||||
|
\begin{tabular}[h]{l|c}
|
||||||
|
\textbf{Fraction} & \textbf{Rest}\\
|
||||||
|
\hline \\
|
||||||
|
$130/2 = 65$ & 0 \\\\
|
||||||
|
$65/2 = 32$ & 1 \\
|
||||||
|
$32/2 = 16$ & 0 \\
|
||||||
|
$16/2= 8$ & 0 \\
|
||||||
|
$8/2 = 4$ & 0 \\
|
||||||
|
$4/2 = 2$ & 0 \\
|
||||||
|
$2/2 = 1$ & 0 \\
|
||||||
|
$1/2 = 0$ & 1 \\
|
||||||
|
\end{tabular}
|
||||||
|
|
||||||
|
By reading from most significant bit to least significant bit we get 10000010 for our
|
||||||
|
exponent.
|
||||||
|
|
||||||
|
We then finally assemble the floating point binary number with the parts we have
|
||||||
|
converted:
|
||||||
|
|
||||||
|
$0\ 10000010\ 01100000000000000000000 = 01000001001100000000000000000000$
|
||||||
|
|
||||||
|
And we convert to hexadecimal by splitting the number in 4 bit groups and converting
|
||||||
|
each group to its equivalent hexadecimal digit:
|
||||||
|
|
||||||
|
$0100\ 0001\ 0011\ 0000\ 0000\ 0000\ 0000\ 0000 = 4\ 1\ 3\ 0\ 0\ 0\ 0\ 0\ = 41300000$. \\\\
|
||||||
|
|
||||||
|
\textbf{From now on the passages are going to include only the calculations to avoid verbosity. Nonetheless, the same reasoning will be applied for each conversion.}
|
||||||
|
|
||||||
|
\item[b)] \textbf{\large 5/64};
|
||||||
|
|
||||||
|
Sign bit = 0
|
||||||
|
|
||||||
|
$\frac{5}{64} = 0.078125$
|
||||||
|
|
||||||
|
Conversion to binary:\\
|
||||||
|
\begin{itemize}
|
||||||
|
\item $0.078125 \times 2 = \textbf{0} + 0.15625$;
|
||||||
|
\item $0.15625 \times 2 = \textbf{0} + 0.3125$;
|
||||||
|
\item $0.3125 \times 2 = \textbf{0} + 0.625$;
|
||||||
|
\item $0.625 \times 2 = \textbf{1} + 0.25$;
|
||||||
|
\item $0.25 \times 2 = \textbf{0} + 0.5$;
|
||||||
|
\item $0.5 \times 2 = \textbf{1} + 0$;
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
Result of conversion: $0.000101$.
|
||||||
|
|
||||||
|
Normalization to scientific notation: $1.\textbf{01} \times 2^{-4}$.
|
||||||
|
|
||||||
|
Exponent bits in decimal = $127 - 4 = 123$
|
||||||
|
|
||||||
|
Conversion of exponent:\\
|
||||||
|
\begin{tabular}[h]{l|c}
|
||||||
|
\textbf{Fraction} & \textbf{Rest}\\
|
||||||
|
\hline \\
|
||||||
|
$123/2 = 61$ & 1 \\\\
|
||||||
|
$61/2 = 30$ & 1 \\
|
||||||
|
$30/2 = 15$ & 0 \\
|
||||||
|
$15/2= 7$ & 1 \\
|
||||||
|
$7/2 = 3$ & 1 \\
|
||||||
|
$3/2 = 1$ & 1 \\
|
||||||
|
$1/2 = 0$ & 1 \\
|
||||||
|
\end{tabular}
|
||||||
|
|
||||||
|
Exponent bits in binary = $01111011$
|
||||||
|
|
||||||
|
Final binary number = $0\ 01111011\ 01000000000000000000000 =$
|
||||||
|
|
||||||
|
$00111101101000000000000000000000$
|
||||||
|
|
||||||
|
Conversion to hexadecimal:
|
||||||
|
|
||||||
|
$0011\ 1101\ 1010\ 0000\ 0000\ 0000\ 0000\ 0000 = 3$ D A $0\ 0\ 0\ 0\ 0 = 3$DA$00000$.
|
||||||
|
|
||||||
|
\item[c)] \textbf{\large -5/64};
|
||||||
|
|
||||||
|
With this being the negative counterpart of the previous number we just need to flip
|
||||||
|
the sign bit of $\frac{5}{64}$.
|
||||||
|
|
||||||
|
With that we get: $10111101101000000000000000000000$.
|
||||||
|
|
||||||
|
Which, converted to hexadecimal, gives:
|
||||||
|
|
||||||
|
$1011\ 1101\ 1010\ 0000\ 0000\ 0000\ 0000\ 0000 =$ B D A $0\ 0\ 0\ 0\ 0 =$ BDA$00000$.
|
||||||
|
|
||||||
|
\item[d)] \textbf{\large 6.125};
|
||||||
|
|
||||||
|
Sign bit = 0
|
||||||
|
|
||||||
|
Conversion to binary:
|
||||||
|
|
||||||
|
Integer part = $6_{10} = 110_{2}$
|
||||||
|
|
||||||
|
Fractional part = $0.125_{10}$:
|
||||||
|
\begin{itemize}
|
||||||
|
\item $0.125 \times 2 = \textbf{0} + 0.25$;
|
||||||
|
\item $0.25 \times 2 = \textbf{0} + 0.5$;
|
||||||
|
\item $0.5 \times 2 = \textbf{1} + 0$;
|
||||||
|
\end{itemize}
|
||||||
|
= $001_2$.
|
||||||
|
|
||||||
|
Normalized binary = $110.001 = 1.\textbf{10001} \times 2^2$
|
||||||
|
|
||||||
|
Exponent bits in decimal = $127 + 2 = 129$.
|
||||||
|
|
||||||
|
\begin{tabular}[h]{l|c}
|
||||||
|
\textbf{Fraction} & \textbf{Rest}\\
|
||||||
|
\hline \\
|
||||||
|
$129/2 = 64$ & 1 \\\\
|
||||||
|
$64/2 = 32$ & 0 \\
|
||||||
|
$32/2 = 16$ & 0 \\
|
||||||
|
$16/2= 8$ & 0 \\
|
||||||
|
$8/2 = 4$ & 0 \\
|
||||||
|
$4/2 = 2$ & 0 \\
|
||||||
|
$2/2 = 1$ & 0 \\
|
||||||
|
$1/2 = 0$ & 1 \\
|
||||||
|
\end{tabular}
|
||||||
|
|
||||||
|
Exponent bits in binary = $10000001$
|
||||||
|
|
||||||
|
Final binary number = $0\ 10000001\ 10001000000000000000000 =$
|
||||||
|
|
||||||
|
$01000000110001000000000000000000$.
|
||||||
|
|
||||||
|
Conversion to hexadecimal:
|
||||||
|
$0100\ 0000\ 1100\ 0100\ 0000\ 0000\ 0000\ 0000 = 4\ 0$ C $4\ 0\ 0\ 0\ 0 = 40$C$40000$.
|
||||||
|
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\subsection{Hexadecimal to Decimal}
|
||||||
|
|
||||||
|
\textbf{All the numbers are going to be first converted to binary and then to
|
||||||
|
decimal for an easier calculation}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
|
||||||
|
\item[a)] \textbf{\large 42E48000$_{16}$}
|
||||||
|
|
||||||
|
Conversion to binary:
|
||||||
|
|
||||||
|
$42$E$48000 = 0100\ 0010\ 1110\ 0100\ 1000\ 0000\ 0000\ 0000 =$
|
||||||
|
|
||||||
|
$ 0\ 10000101\ 11001001000000000000000 = $
|
||||||
|
|
||||||
|
$ 01000010111001001000000000000000$
|
||||||
|
|
||||||
|
From this we can observe that the sign bit is 0 (i.e. positive).
|
||||||
|
|
||||||
|
Conversion of exponent from binary to decimal:
|
||||||
|
|
||||||
|
$10000101 = 2^7 + 2^2 + 2^0 = 128 + 4 + 1 = 133$
|
||||||
|
|
||||||
|
To find how many bits have been moved beyond the floating point we now find the
|
||||||
|
exponent for our notation:
|
||||||
|
|
||||||
|
$ 133 - 127 = 6$
|
||||||
|
|
||||||
|
And we then take the mantissa to multiply it by $2^6$ (where 6 is the number we found through the last passage) to get the final binary number to convert to decimal:
|
||||||
|
|
||||||
|
$1.11001001000000000000000 \times 2^6 = 1.11001001 \times 2^6 = 1110010.01$
|
||||||
|
|
||||||
|
Conversion to decimal:
|
||||||
|
|
||||||
|
$1110010.01 = 2^6 + 2^5 + 2^4 + 2 + 2^{-2} = 64 + 32 + 16 + 2 + 0.25 = 114.25$
|
||||||
|
|
||||||
|
\item[b)] \textbf{\large 3F880000$_{16}$}
|
||||||
|
|
||||||
|
Conversion to binary:
|
||||||
|
|
||||||
|
$3$F$880000 = 0011\ 1111\ 1000\ 1000\ 0000\ 0000\ 0000\ 0000\ =$
|
||||||
|
|
||||||
|
$0\ 01111111\ 00010000000000000000000 =$
|
||||||
|
|
||||||
|
$00111111100010000000000000000000$
|
||||||
|
|
||||||
|
Sign bit = 0
|
||||||
|
|
||||||
|
Conversion of exponent from binary to decimal:
|
||||||
|
|
||||||
|
$01111111 = 2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2 + 1 = 64 + 32 + 16 + 8 + 4 + 2 + 1 = 127$
|
||||||
|
|
||||||
|
Power of 2 = $127 - 127 = 0$
|
||||||
|
|
||||||
|
Final binary number:
|
||||||
|
|
||||||
|
$1.0001 \times 2^0 = 1.0001$
|
||||||
|
|
||||||
|
Conversion to decimal:
|
||||||
|
|
||||||
|
$1.0001 = 2^0 + 2^{-4} = 1 + 0.0625 = 1.0625$
|
||||||
|
|
||||||
|
\item[c)] \textbf{\large 00800000$_{16}$}
|
||||||
|
|
||||||
|
Conversion to binary:
|
||||||
|
|
||||||
|
$00800000 = 0000\ 0000\ 1000\ 0000\ 0000\ 0000\ 0000\ 0000 =$
|
||||||
|
|
||||||
|
$0\ 00000001\ 000\ 00000000000000000000 =$
|
||||||
|
|
||||||
|
$00000000100000000000000000000000$
|
||||||
|
|
||||||
|
Sign bit = 0
|
||||||
|
|
||||||
|
Conversion of exponent from binary to decimal:
|
||||||
|
|
||||||
|
$00000001 = 2^0 = 1$
|
||||||
|
|
||||||
|
Power of 2 = $1 - 127 = -126$
|
||||||
|
|
||||||
|
Final binary number:
|
||||||
|
|
||||||
|
$1.00000000000000000000 \times 2^{-126}$
|
||||||
|
|
||||||
|
Conversion to decimal:
|
||||||
|
|
||||||
|
$1.00000000000000000000 \times 2^{-126} = 2^{-126} = 1.1754944 \times 10^{-38}$
|
||||||
|
|
||||||
|
\item[d)] \textbf{\large C7F00000$_{16}$}
|
||||||
|
|
||||||
|
Conversion to binary:
|
||||||
|
|
||||||
|
C$7$F$00000 = 1100\ 0111\ 1111\ 0000\ 0000\ 0000\ 0000\ 0000 =$
|
||||||
|
|
||||||
|
$1\ 10001111\ 11100000000000000000000 =$
|
||||||
|
|
||||||
|
$11000111111100000000000000000000$
|
||||||
|
|
||||||
|
Sign bit = 1
|
||||||
|
|
||||||
|
Conversion of exponent from binary to decimal:
|
||||||
|
|
||||||
|
$10001111 = 2^7 + 2^3 + 2^2 + 2^1 + 2^0 = 128 + 8 + 4 + 2 + 1 = 143$
|
||||||
|
|
||||||
|
Power of 2 = $143 - 127 = 16$
|
||||||
|
|
||||||
|
Final binary number:
|
||||||
|
|
||||||
|
$1.11100000000000000000000 \times 2^{16} = 1.111 \times 2^16 =$
|
||||||
|
|
||||||
|
$11110000000000000.0$
|
||||||
|
|
||||||
|
Conversion to decimal:
|
||||||
|
|
||||||
|
$11110000000000000.0 = 2^16 + 2^15 + 2^14 + 2^13 = 65536 + 32768 + 16384 +
|
||||||
|
8192 = 122880 $ and, since the sign bit is 1 (i.e. negative), $= -122880$.
|
||||||
|
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\section{Bonus Question 2}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\end{document}
|
Binary file not shown.
Reference in a new issue