⇤ ← Revision 1 as of 2010-09-05 16:32:44
Size: 2145
Comment:
|
Size: 2445
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 27: | Line 27: |
Since the complement of 0 is $2^{n+1}-1$, there are different representations for +0 and -0 in one's complement. }}} Examples of 8-bit one's complement numbers: |
Since the complement of $0$ is $2^{n+1}-1$, there are different representations for $+0$ and $-0$ in one's complement. Examples of $8$-bit one's complement numbers: |
Line 31: | Line 29: |
\begin{array}{cc} Binary & Decimal |
\begin{array}{cr} Binary & Decimal \\ |
Line 39: | Line 37: |
The range of 8-bit one's complement integers is -127 to +127. |
The range of $8$-bit one's complement integers is $-127$ to $+127$. |
Line 46: | Line 41: |
To add decimal 17 to decimal -8 in 8-bit one's complement: | To add decimal 17 to decimal -8 in 8-bit one's complement:\bigskip \begin{tabular}{rrrrrr} & & $0001$ & $0001$ & & $(17)$ \\ $+$ & & $1111$ & $0111$ & & $(-8)$ \\ \cline{1-4}\cline{6-6} & $1$ & $0000$ & $1000$ & & \\ & & \multicolumn{1}{l}{$\hookrightarrow $} & $+1$ & & \\ \cline{3-4} & & $0000$ & $1001$ & $=$ & $(9)$% \end{tabular} |
One's Complement
-- adapted from http://www.cs.uaf.edu/~cs301/notes/Chapter4/node4.html
The leftmost bit indicates the sign of an integer in $1$s complement representation where $1$ means that the number is negative. The representation for positive integers is the same as unsigned with the leftmost bit represented with a $0$. Negative integers are formed by reversing all bits to form the bitwise complement of a positive integer. If $I$ is the $n+1$ bit binary sequence, $b_n n_{n-1} \ldots b_1 b_0$ then $-I$ in one's complement is given by $\overline{b_n n_{n-1}} \ldots \overline{b_1 b_0}$ where $\overline{b_i}=1-b_i$ for all $i$. Let $I$ be a negative one's complement integer. The value of $I$ is obtained by forming its one's complement: \begin{equation} -I = \sum_{i=0}^{n}(1-b_i)\cdot2^i = \sum_{i=0}^{n-1}2^i - \sum_{i=0}^{n-1} b_i \cdot 2^i \end{equation} since $b_n=1$. Thus, \begin{equation} I = \sum_{i=0}^{n-1}b_i \cdot 2^i - (2^n - 1). \end{equation} Negative one's complement integers are formed by subtracting a bias of $2^n - 1$ from the positive integers. Taking into account the sign bit $bn$, the value for a positive or negative (n+1) bit one's complement integer is: \begin{equation} I = \sum_{i=0}^{n-1}b_i \cdot 2^i - b_n (2^n - 1). \end{equation} The range of values for an $(n+1)$ bit one's complement integer is $-(2^n-1)$ to $2^n-1$ . Since the complement of $0$ is $2^{n+1}-1$, there are different representations for $+0$ and $-0$ in one's complement. Examples of $8$-bit one's complement numbers: \begin{equation} \begin{array}{cr} Binary & Decimal \\ 00000000 & 0 \\ 11111111 & -0 \\ 00000011 & 3 \\ 11111100 & -3 \\ \end{array} \end{equation} The range of $8$-bit one's complement integers is $-127$ to $+127$. Addition of signed numbers in one's complement is performed using binary addition with end-around carry. If there is a carry out of the most significant bit of the sum, this bit must be added to the least significant bit of the sum. To add decimal 17 to decimal -8 in 8-bit one's complement:\bigskip \begin{tabular}{rrrrrr} & & $0001$ & $0001$ & & $(17)$ \\ $+$ & & $1111$ & $0111$ & & $(-8)$ \\ \cline{1-4}\cline{6-6} & $1$ & $0000$ & $1000$ & & \\ & & \multicolumn{1}{l}{$\hookrightarrow $} & $+1$ & & \\ \cline{3-4} & & $0000$ & $1001$ & $=$ & $(9)$% \end{tabular}