\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}