Binary Number Systems Explained
Binary Number Systems Explained
1 Data representation
1 Key terms
Binary – base two number system based on the values Memory dump – contents of a computer memory output
0 and 1 only. to screen or printer.
Bit – abbreviation for binary digit. Binary-coded decimal (BCD) – number system that
One’s complement – each binary digit in a number is uses 4 bits to represent each denary digit.
reversed to allow both negative and positive numbers to ASCII code – coding system for all the characters on a
1 Information representation and multimedia
1.1
d) 0 1 1 1 0 1 0 0 128 64 32 16 8 4 2 1
e) 1 1 1 1 1 1 1 1
Data representation
0 1 1 0 1 0 1 1
f) 0 0 0 0 1 1 1 1
g) 1 0 0 0 1 1 1 1 Method 2
h) 0 0 1 1 0 0 1 1 This method involves successive division by 2; the remainders are then written
i) 0 1 1 1 0 0 0 0 from bottom to top to give the binary value.
j) 1 1 1 0 1 1 1 0 2 107
2 53 remainder: 1
ACTIVITY 1B 2 26 remainder: 1
Write the remainder from
2 13 remainder: 0
Convert these bottom to top to get the
2 6 remainder: 1
denary numbers into binary number:
2 3 remainder: 0 01101011
binary (using either
method). 2 1 remainder: 1
a) 4 1 2 0 remainder: 1
b) 6 7 0 remainder: 0
c) 8 6
Binary addition and subtraction
d) 1 0 0
e) 1 1 1
Up until now we have assumed all binary numbers have positive values. There are a
number of methods to represent both positive and negative numbers. We will consider:
f) 1 2 7
g) 1 4 4 » one’s complement
» two’s complement.
h) 1 8 9
i) 2 0 0 In one’s complement, each digit in the binary number is inverted (in other
j) 2 5 5 words, 0 becomes 1 and 1 becomes 0). For example, 0 1 0 1 1 0 1 0 (denary
value 90) becomes 1 0 1 0 0 1 0 1 (denary value −90).
In two’s complement, each digit in the binary number is inverted and a ‘1’ is
added to the right-most bit. For example, 0 1 0 1 1 0 1 0 (denary value 90)
becomes:
1 0 1 0 0 1 0 1
+ 1
= 1 0 1 0 0 1 1 0 (since 1 + 1 = 0, a carry of 1) = denary value −90
Throughout the remainder of this chapter, we will use the two’s complement
method to avoid confusion. Also, two’s complement makes binary addition
and subtraction more straightforward. The reader is left to investigate one’s
complement and the sign and magnitude method in binary arithmetic.
Now that we are introducing negative numbers, we need a way to represent
these in binary. The two’s complement uses these weightings for an 8-bit
number representation:
−128 64 32 16 8 4 2 1
3
The easiest way to convert a number into its negative equivalent is to use two’s
complement. For example, 104 in binary is 0 1 1 0 1 0 0 0.
To find the binary value for −104 using two’s complement:
invert the digits: 1 0 0 1 0 1 1 1 (+104 in denary)
add 1: 1
which gives: 1 0 0 1 1 0 0 0 = −104)
ACTIVITY 1C
Convert these denary numbers into 8-bit binary numbers using two’s
complement where necessary. Use these binary column weightings:
−128 64 32 16 8 4 2 1
a) +114
b) +61
c) +96
d) −14
e) −116
Binary addition
Consider Examples 1.1 and 1.2.
Solution
−128 64 32 16 8 4 2 1
0 0 1 0 0 1 0 1
+
0 0 1 1 1 0 1 0
=
0 1 0 1 1 1 1 1
Solution
1
−128 64 32 16 8 4 2 1
0 1 0 1 0 0 1 0
+
0 1 0 0 0 1 0 1
1.1
=
Data representation
1 0 0 1 0 1 1 1
Binary subtraction
To carry out subtraction in binary, we convert the number being subtracted into
its negative equivalent using two’s complement, and then add the two numbers.
Solution
1 Convert the two numbers into binary:
95 = 0 1 0 1 1 1 1 1
68 = 0 1 0 0 0 1 0 0
2 Find the two’s complement of 68:
−128 64 32 16 8 4 2 1
0 1 0 1 1 1 1 1
+
1 0 1 1 1 1 0 0
=
1 0 0 0 1 1 0 1 1
The additional ninth bit is simply ignored leaving the binary number
0 0 0 1 1 0 1 1 (denary equivalent of 27, which is the correct result of the
subtraction).
−128 64 32 16 8 4 2 1
0 0 1 1 0 0 0 1
+
1 0 1 1 0 0 0 0
=
1 1 1 0 0 0 0 1
This gives us 1 1 1 0 0 0 0 1, which is −31 in denary; the correct answer.
ACTIVITY 1D
Carry out these binary additions and subtractions using these 8-bit column
weightings:
−128 64 32 16 8 4 2 1
a) 00111001+00101001
b) 01001011+00100011
c) 01011000+00101000
d) 01110011+00111110
e) 00001111+00011100
f) 01100011−00110000
g) 01111111−01011010
h) 00110100−01000100
i) 00000011−01100100
j) 11011111−11000011
1.1
The system of numbering shown in Table 1.1 only refers to some storage
devices, but is technically inaccurate. It is based on the SI (base 10) system
Data representation
of units where 1 kilo is equal to 1000. A 1 TB hard disk drive would allow the
storage of 1 × 1012 bytes according to this system. However, since memory size
is actually measured in terms of powers of 2, another system has been proposed
by the International Electrotechnical Commission (IEC); it is based on the
binary system. See Table 1.2.
Name of memory size Number of bytes Equivalent denary value (bytes)
1 kibibyte (1 KiB) 210 1 024
1 mebibyte (1 MiB) 220 1 048 576
1 gibibyte (1 GiB) 230 1 073 741 824
1 tebibyte (1 TiB) 240 1 099 511 627 776
1 pebibyte (1 PiB) 250 1 125 899 906 842 624
▲ Table 1.2 IEC memory size system
1 0000
0001
0
1
0
1
0010 2 2
0011 3 3
0100 4 4
0101 5 5
0110 6 6
1 Information representation and multimedia
0111 7 7
1000 8 8
1001 9 9
1010 A 10
1011 B 11
1100 C 12
1101 D 13
1110 E 14
1111 F 15
▲ Table 1.3 The link between binary, hexadecimal and denary
Solution
First split it into groups of 4 bits:
1011 1110 0001
Then find the equivalent hexadecimal digits:
B E 1
Solution
First split it into groups of 4 bits:
10 0001 1111 1101
The left group only contains 2 bits, so add in two 0s to the left:
0010 0001 1111 1101
Now find the equivalent hexadecimal digits:
2 1 F D
1.1
Data representation
Converting from hexadecimal to binary is also straightforward. Using the data
from Table 1.3, simply take each hexadecimal digit and write down the 4 bit
code which corresponds to the digit.
Solution
Using Table 1.3, find the 4-bit code for each digit:
0 1 0 0 0 1 0 1 1 0 1 0
Put the groups together to form the binary number:
010001011010
Solution
Using Table 1.3:
1 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0
Then put all the digits together:
1011111100001000
1
remembering the carry bit from the addition above:
0 0 1 1
+
1 0 0 1
1 Information representation and multimedia
+
1
=
1 1 0 1
This produces 1 1 0 1 which isn’t a denary digit; this will flag an error and the
computer again needs to add 0 1 1 0.
1 1 0 1
This again produces +
a fifth bit which is 0 1 1 0
carried to the next =
decimal digit position. 1 0 0 1 1
ACTIVITY 1H
Adding 1 to 0 0 0 0 0 0 0 0 produces:
Carry out these BCD
0 0 0 0 0 0 0 1
additions.
a) 0.45 + 0.21 Final answer:
b) 0.66 + 0.51
c) 0.88 + 0.75 0 0 0 0 0 0 0 1 . 0 0 1 1 0 0 0 1
12
1.1
39 27 ‘ 71 47 G 103 67 g
Data representation
40 28 ( 72 48 H 104 68 h
41 29 ) 73 49 I 105 69 i
42 2A * 74 4A J 106 6A j
43 2B + 75 4B K 107 6B k
44 2C , 76 4C L 108 6C l
45 2D - 77 4D M 109 6D m
46 2E . 78 4E N 110 6E n
47 2F / 79 4F O 111 6F o
48 30 0 80 50 P 112 70 p
49 31 1 81 51 Q 113 71 q
50 32 2 82 52 R 114 72 r
51 33 3 83 53 S 115 73 s
52 34 4 84 54 T 116 74 t
53 35 5 85 55 U 117 75 u
54 36 6 86 56 V 118 76 v
55 37 7 87 57 W 119 77 w
56 38 8 88 58 X 120 78 x
57 39 9 89 59 Y 121 79 y
58 3A : 90 5A Z 122 7A z
59 3B ; 91 5B [ 123 7B {
60 3C < 92 5C \ 124 7C |
61 3D = 93 5D ] 125 7D }
62 3E > 94 5E ^ 126 7E ~
63 3F ? 95 5F _ 127 7F <DELETE>
▲ Table 1.5 Part of the ASCII code table
Notice the storage of characters with uppercase and lowercase. For example:
a 1 1 0 0 0 0 1 hex 61 (lower case)
A 1 0 0 0 0 0 1 hex 41 (upper case)
y 1 1 1 1 0 0 1 hex 79 (lower case)
Y 1 0 1 1 0 0 1 hex 59 (uppercase)
Notice the sixth bit changes from 1 to 0 when comparing lower and uppercase
characters. This makes the conversion between the two an easy operation. It
is also noticeable that the character sets (such as a to z, 0 to 9, and so on) are
grouped together in sequence, which speeds up usability.
Extended ASCII uses 8-bit codes (128 to 255 in denary or 80 to FF in hex). This
allows for non-English characters and for drawing characters to be included.
13
1
128 80 Ç 154 9A Ü 180 B4 ┤ 206 CE ╬ 232 E8 Φ
129 81 ü 155 9B ḉ 181 B5 ╡ 207 CF ╧ 233 E9 Θ
130 82 é 156 9C £ 182 B6 ╢ 208 D0 ╨ 234 EA Ω
131 83 â 157 9D ¥ 183 B7 ╖ 209 D1 ╤ 235 EB δ
132 84 ä 158 9E ₧ 184 B8 ╕ 210 D2 ╥ 236 EC ∞
133 85 à 159 9F ƒ 185 B9 ╣ 211 D3 ╙ 237 ED ø
134 86 å 160 A0 á 186 BA ║ 212 D4 ╘ 238 EE ε
135 87 ç 161 A1 í 187 BB ╗ 213 D5 ╒ 239 EF ∩
1 Information representation and multimedia
Since ASCII code has a number of disadvantages and is unsuitable for some
purposes, different methods of coding have been developed over the years.
One coding system is called Unicode. Unicode allows characters in a code
form to represent all languages of the world, thus supporting many operating
systems, search engines and internet browsers used globally. There is overlap
with standard ASCII code, since the first 128 (English) characters are the same,
but Unicode can support several thousand different characters in total. As can
be seen in Tables 1.5 and 1.6, ASCII uses one byte to represent a character,
whereas Unicode will support up to four bytes per character.
The Unicode consortium was set up in 1991. Version 1.0 was published with five
goals, these were to
» create a universal standard that covered all languages and all writing systems
» produce a more efficient coding system than ASCII
» adopt uniform encoding where each character is encoded as 16-bit or 32-bit code
» create unambiguous encoding where each 16-bit or 32-bit value always
represents the same character (it is worth pointing out here that the ASCII
code tables are not standardised and versions other than the ones shown in
tables 1.5 and 1.6 exist)
» reserve part of the code for private use to enable a user to assign codes for their
own characters and symbols (useful for Chinese and Japanese character sets).
A sample of Unicode characters are shown in Table 1.7. As can be seen from
the table, characters used in languages such as Russian, Greek, Romanian and
Croatian can now be represented in a computer).
14
1.2
0210 Ȑ ȑ Ȓ ȓ Ȕ ȕ Ȗ ȗ Ș ș Ț ț Ȝ ȝ Ȟ ȟ
Multimedia
0220 Ƞ ȡ Ȣ ȣ Ȥ ȥ Ȧ ȧ Ȩ ȩ Ȫ ȫ Ȭ ȭ Ȯ ȯ
0230 Ȱ ȱ Ȳ ȳ ȴ ȵ ȶ ȷ ȸ ȹ Ⱥ Ȼ ȼ Ƚ Ⱦ ȿ
0240 ɀ Ɂ ɂ Ƀ Ʉ Ʌ Ɇ ɇ Ɉ ɉ Ɋ ɋ Ɍ ɍ Ɏ ɏ
0250 ɐ ɑ ɒ ɓ ɔ ɕ ɖ ɗ ɘ ǝ ɚ ɛ ɜ ɝ ɞ ɟ
0260 ɠ ɡ ɢ ɣ ɤ ɥ ɦ ɧ ɨ ɩ ɪ ɫ ɬ ɭ ɮ ɯ
0270 ɰ ɱ ɲ ɳ ɴ ɵ ɶ ɷ ɸ ɹ ɺ ɻ ɼ ɽ ɾ ɿ
0280 ʀ ʁ ʂ ʃ ʄ ʅ ʆ ʇ ʈ ʉ ʊ ʋ ʌ ʍ ʎ ʏ
0290 ʐ ʑ ʒ ʓ ʔ ʕ ʖ ʗ ʘ ʙ ʚ ʛ ʜ ʝ ʞ ʟ
02A0 ʠ ʡ ʢ ʣ ʤ ʥ ʦ ʧ ʨ ʩ ʪ ʫ ʬ ʭ ʮ ʯ
02B0 ʰ ʱ ʲ ʳ ʴ ʵ ʶ ʷ ʸ ʹ ʺ ʻ ʼ ʽ ʾ ʿ
1.2 Multimedia
Key terms
Bit-map image – system that uses pixels to make up an resolution is smaller than the image resolution, the
image. whole image cannot be shown on the screen, or the
Pixel – smallest picture element that makes up an image. original image will become lower quality.
Colour depth – number of bits used to represent the Resolution – number of pixels per column and per row
colours in a pixel, e.g. 8 bit colour depth can represent on a monitor or television screen.
28 = 256 colours. Pixel density – number of pixels per square centimetre.
Bit depth – number of bits used to represent the Vector graphics – images that use 2D points to describe
smallest unit in, for example, a sound or image file – lines and curves and their properties that are grouped to
the larger the bit depth, the better the quality of the form geometric shapes.
sound or colour image. Sampling resolution – number of bits used to represent
Image resolution – number of pixels that make up an sound amplitude (also known as bit depth).
image, for example, an image could contain 4096 × 3192 Sampling rate – number of sound samples taken per
pixels (12 738 656 pixels in total). second.
Screen resolution – number of horizontal and vertical Frame rate – number of video frames that make up a
pixels that make up a screen display. If the screen video per second.
Images can be stored in a computer in two common formats: bit-map image and
vector graphic.
15
1
now fit on the screen without any modification to the image. We could simply
zoom in to enlarge it to full screen size; however, the image could now become
pixelated (in other words, the number of pixels per square inch (known as the
pixel density) is smaller, causing deterioration in the image quality).
We will now consider a calculation which shows how pixel density can be
calculated for a given screen. Imagine we are using an Apple iPhone 8 which
has 5.5-inch screen size and screen resolution of 1920 pixels × 1080 pixels:
1 add together the squares of the resolution size ((19202 + 10802) = (3 686 400
1.2
+ 16 640) = 4 852 800)
Multimedia
(
2 find the square root 4852800 = 2202.907 )
3 divide by screen size (2202.907 ÷ 5.5 = 401)
This gives us the pixel density of 401 pixels per square inch (ppi) (which is the
same as the published figure from the manufacturer).
A pixel-generated image can be scaled up or scaled down; it is important
to understand that this can be done when deciding on the resolution. The
resolution can be varied on many cameras before taking, for example, a digital
photograph. When magnifying an image, the number of pixels that makes up
the image remains the same but the area they cover is now increased. This
means some of the sharpness could be lost. This is known as the pixel density
and is key when scaling up photographs. For example, look at Figure 1.3.
A B C D E
▲ Figure 1.3 Five images of the same car wheel
Image A is the original. By the time it has been scaled up to make image E it
has become pixelated (‘fuzzy’). This is because images A and E have different
pixel densities.
The main drawback of using high resolution images is the increase in file size. As
the number of pixels used to represent the image is increased, the size of the file
will also increase. This impacts on how many images can be stored on, for example,
a hard drive. It also impacts on the time to download an image from the internet or
the time to transfer images from device to device. Bit-map images rely on certain
properties of the human eye and, up to a point, the amount of file compression
used (see Section 1.3 File compression). The eye can tolerate a certain amount of
resolution reduction before the loss of quality becomes significant.
1
contain items such as file type (.bmp or .jpeg), file size, image resolution, bit depth
(usually 1, 8, 16, 24 or 32), any type of data compression employed and so on.
A vector graphic will contain a drawing list (included in a file header) that is
made up of
» the command used for each object that makes up the graphic image
▲ Figure 1.4 Drawing of a » the attributes that define the properties that make up each object (for
robot made up of a number example consider the ellipse of the robot’s mouth – this will need the
of geometric shapes position of the two centres, the radius from centres, the thickness and style
of each line, the line colour and any fill colour used)
» the relative position of each object will also need to be included
» the dimensions of each object are not defined, but the relative positions of
objects to each other in the final graphic need to be defined; this means
that scaling up the vector graphic image will result in no loss of quality.
When printing out vector graphics it is usually necessary to first convert it into
a bit-map image to match the format of most printers.
18