Ch.1: Data Representation Eng.
Omar El Safty
Introduction
Computer definition:
A computer is a device that receives input, does processing on that input and then produces
the output.
Input Processing Output
IMPORTANT
For a computer to process, an input should be supplied first.
Input can be in form of data or instructions.
As humans we use analogue data. However, computers can’t process analogue data, they are
only capable of processing digital data (0s and 1s).
KEY TERMS
Analogue Data – Data that is constantly varying. For example, sound waves.
Digital Data – Discrete data that is made up from only two values 0 and 1.
Hardware – Refers to the physical components that make up a computer system.
Software – Refers to programs used to control the hardware.
Examples of data:
• Number
• Text
• Image
• Audio/Sound
• Video
1
Ch.1: Data Representation Eng. Omar El Safty
1. Numbers
1.1 Denary
Definition:
• A base-10 numbering system
• Denary uses values 0 to 9
• Units increase by power of 10
1.2 Binary
Definition:
• A base-2 numbering system
• Binary uses values 0 and 1
• Units increase by power of 2
IMPORTANT
Any form of data needs to be converted to binary to be
understood and processed by the computer.
Why is data stored as binary in computers?
• As computers consist of logic gates
• Logic gates can only process data in two states (0 and 1)
2
Ch.1: Data Representation Eng. Omar El Safty
1.2.1 Conversion from Denary to Binary
Example:
We need to represent the denary number 25 in computer memory.
This means that we need to convert number 25 to binary.
Solution:
This is done using the table method:
1 Powers of 2 (starting by 20) are placed as column headings
512 256 128 64 32 16 8 4 2 1
2 1s are placed in the appropriate columns so that if column headings are added, the
result is 25.
512 256 128 64 32 16 8 4 2 1
1 1 0 0 1
16 + 8 + 1 = 25
This means that denary value 25 is converted to 11001 in binary
Another example:
Convert 125 to binary.
Solution:
Scan the following QR code for a more elaborate answer:
3
Ch.1: Data Representation Eng. Omar El Safty
1.2.2 Conversion from Binary to Denary
Example:
We need to convert the binary number 100110 to denary.
Solution:
1 Powers of 2 (starting by 20) are placed as column headings
512 256 128 64 32 16 8 4 2 1
2 Correctly place a 1 or a 0 for each column
512 256 128 64 32 16 8 4 2 1
1 0 0 1 1 0
3 Add the denary values for columns containing 1s
32 + 4 + 2 = 38
4 This will give a total which is the answer: 38
4
Ch.1: Data Representation Eng. Omar El Safty
1.3 Hexadecimal
Definition:
• A base-16 numbering system
• It uses 16 values: (0-9) and (A-F)
• Units increase by power of 16
Hexadecimal Denary
A 10
B 11
C 12
D 13
E 14
F 15
5
Ch.1: Data Representation Eng. Omar El Safty
1.3.1 Conversion from Hexadecimal to Binary
Example:
Convert the hexadecimal number 9A to binary.
Solution:
Each hexadecimal digit is represented in 4 binary digits.
This means that the number 9A is represented in 8 binary digits.
9 A
9
Table method is then used to convert each hexadecimal digit to its equivalent 4 binary digits:
8 4 2 1 8 4 2 1
1 0 0 1 1 0 1 0
9 A
9
The answer is: 1001 1010
Another example:
Convert F0C to binary.
Solution:
Scan the following QR code for a more elaborate answer:
6
Ch.1: Data Representation Eng. Omar El Safty
1.3.2 Conversion from Binary to Hexadecimal
Example:
Convert the binary number 100110110 to hexadecimal.
Solution:
We recall that one hexadecimal digit is represented in 4 binary digits.
For this problem, we need to group every 4 digits and represent them as one hexadecimal
digit.
0001 0 0 1 1 0 1 1 0
After grouping each 4 binary digits, we know that we have 3 hexadecimal digits.
We use the table method to figure them out:
8 4 2 1 8 4 2 1 8 4 2 1
0 0 0 1 0 0 1 1 0 1 1 0
1 3 6
9
The answer is 136
7
Ch.1: Data Representation Eng. Omar El Safty
1.3.3 Conversion from Hexadecimal to Denary
We convert from hexadecimal to binary first, then from binary to denary.
Hexadecimal
Binary
Denary
Example:
Convert the hexadecimal number FB to denary.
Solution:
1 Convert FB to binary:
8 4 2 1 8 4 2 1
1 1 1 1 1 0 1 1
F B
FB = 1111 1011
2 Convert the binary number 11111011 to denary:
512 256 128 64 32 16 8 4 2 1
1 1 1 1 1 0 1 1
128 + 64 + 32 + 16 + 8 + 2 + 1 = 251
3 The answer is 251
8
Ch.1: Data Representation Eng. Omar El Safty
1.3.4 Conversion from Denary to Hexadecimal
We convert from denary to binary first, then from binary to hexadecimal.
Denary
Binary
Hexadecimal
Example:
Convert the denary number 150 to hexadecimal.
Solution:
1 Convert 150 to binary:
512 256 128 64 32 16 8 4 2 1
1 0 0 1 0 1 1 0
128 + 16 + 4 + 2 = 150
2 Convert 1001 0110 to hexadecimal
8 4 2 1 8 4 2 1
1 0 0 1 0 1 1 0
9 6
9
3 The result is 96 in hexadecimal
9
Ch.1: Data Representation Eng. Omar El Safty
Why is hexadecimal preferred to programmers rather than binary?
• Easier for programmers to read and understand
• Easier to debug // Easier to identify errors
• Shorter to represent // Takes up less space on screen
• Fewer errors made in data transcription
• Easier to remember
Uses of hexadecimal:
• HTML colour codes
• Error messages
• MAC addresses
• IPv6 addresses
• ASCII // Unicode
• Locations in memory
• Debugging
10
Ch.1: Data Representation Eng. Omar El Safty
Memory Units
Bit
Definition:
Refers to one binary digit.
Example:
For example the following binary number is composed of 5 bits:
11010
Nibble
Definition:
A group of 4 bits.
Byte
Definition:
A group of 8 bits.
The following table shows more memory units:
Name of memory unit Number of bytes Number of bytes
1 Kibibyte (KiB) 210 1024 bytes
1 Mebibyte (MiB) 220 1024 KiB
1 Gibibyte (GiB) 230 1024 MiB
1 Tebibyte (TiB) 240 1024 GiB
1 Pebibyte (PiB) 250 1024 TiB
1 Exbibyte (EiB) 260 1024 PiB
11
Ch.1: Data Representation Eng. Omar El Safty
2. Text
Text is represented using one of the following character sets:
• ASCII (American Standard Code for Information Exchange)
• Unicode
Character set definition:
• A list of all characters and symbols that can be represented by a computer system
• Each character/symbol is assigned a unique value.
2.1 ASCII
Definition:
• A character set for all the characters on a standard English keyboard
• Each character is represented using 8 bits (1 byte)
The following is the ASCII table in which each character is represented with a unique value:
12
Ch.1: Data Representation Eng. Omar El Safty
Example:
Represent the word Computer in memory.
Solution:
After checking the ASCII table, the word Computer is represented as follows:
In denary:
67 111 109 112 117 116 101 114
In hexadecimal:
43 6F 6D 70 75 74 65 72
In binary:
01000011 01101111 01101101 01110000 01110101 01110100 01100101 01110010
2.2 Unicode
Definition:
• A character set which can represent all the languages of the world
• Each character is represented using up to 32 bits (4 bytes)
Main advantage of using Unicode character set compared to ASCII character set:
• Unicode allows for a greater range of characters and symbols than ASCII (including
different languages and emojis)
Main disadvantage of using Unicode character set compared to ASCII character set:
• Text stored using Unicode takes up more storage space as Unicode requires more
bits per character than ASCII
13
Ch.1: Data Representation Eng. Omar El Safty
A sample of Unicode characters are shown in the following table:
3. Images
Definition:
An image is a series of pixels, each representing one colour, that are converted to binary and
processed by the computer.
Important note:
The file size and quality of the image depends on the image resolution and the colour depth.
KEY TERMS
Pixel – Smallest component of an image.
Image Resolution – The number of pixels in an image.
Colour Depth – Number of bits used to represent the colours of a pixel.
IMPORTANT
• The higher the image resolution, the more the details that can be shown in the
image
• The higher the colour depth, the more colours that can be represented in the
image
14
Ch.1: Data Representation Eng. Omar El Safty
High-resolution image vs. low-resolution image
Example of different colour depths
15
Ch.1: Data Representation Eng. Omar El Safty
Size of an image file
Image resolution (in pixels) x Colour Depth (in bits)
Example:
An image is 2048 x 2048 pixels and uses a colour depth of 16 bits.
Find the size of an image taken by this camera in MiB.
Solution:
16
Colour depth in bytes = = 2 bytes
8
Size of image in bytes = 2048 × 2048 × 2
2048 ×2048×2
Size of image in MiB =
1024 ×1024
= 2 × 2 × 2 = 8 MiB
16
Ch.1: Data Representation Eng. Omar El Safty
4. Audio
• An audio file is converted to binary using sampling process to be processed by the
computer
• The quality of an audio file depends on the sampling rate and the sampling resolution
KEY TERMS
Sampling Process – The process of determining the amplitude of the sound wave at set time intervals.
Sampling Rate – The number of samples taken in a second.
Sampling Resolution – The number of bits representing each sample.
IMPORTANT
The accuracy of the recording and the file size increases as the sample rate
and sampling resolution increase.
17
Ch.1: Data Representation Eng. Omar El Safty
Example of different sampling rates
Size of an audio file
Sampling rate (in Hz) x Length of audio file (in seconds) x Sampling resolution (in bits)
Example:
An audio file has a length of 80 seconds and sampling rate of 32 samples/sec. Each sample is
represented in 32 bits. Calculate the size of the file in Kibibyte.
Solution:
Size of audio file in bits = 80 × 32 × 32
80 ×32×32 80 ×1024 80
Size of image in KiB = = =
1024 × 8 1024 × 8 8
= 10 KiB
18
Ch.1: Data Representation Eng. Omar El Safty
5. Binary Operations
5.1 Register
Definition:
A small fast memory location within the CPU that stores data and instructions during
processing.
Example:
In this example a 4-bit register is used to store the binary value 1000.
Bit 4 Bit 3 Bit 2 Bit 1
1 0 0 0
▪ Bit 1 is called the least significant bit as it has the least effect on the value of the
register
▪ Bit 4 is called the most significant bit as it has the highest effect on the value of the
register
KEY TERMS
Most Significant Bit – The left most bit in a binary register/value
Least Significant Bit – The right most bit in a binary register/value
19
Ch.1: Data Representation Eng. Omar El Safty
5.2 Binary Addition
To add two binary digits: To add three binary digits:
Addition Sum Carry Addition Sum Carry
0+0 0 0 0+0+0 0 0
0+1 1 0 0+0+1 1 0
1+0 1 0 0+1+0 1 0
1+1 0 1 0+1+1 0 1
1+0+0 1 0
1+0+1 0 1
1+1+0 0 1
1+1+1 1 1
Example 1:
The addition of two 8-bit binary numbers can be done as follows:
Carry 0 0 0 0 1 1 1 0 0
Number 1 0 0 1 0 0 1 1 1
Number 2 0 1 0 0 1 0 1 0 +
Result 0 1 1 1 0 0 0 1
0010 0111 + 0100 1010 = 0111 0001
20
Ch.1: Data Representation Eng. Omar El Safty
Example 2:
The addition of two 8-bit binary numbers can be done as follows:
Carry 1 1 1 1 1 1 1 0 0
Number 1 0 1 1 0 1 1 1 0
Number 2 1 1 0 1 1 1 1 0 +
Result 1 0 1 0 0 1 1 0 0
Note:
The addition of 0110 1110 & 1101 1110 resulted in a number that is the value is greater
than 255. A number greater than 255 cannot be stored in an 8-bit register. This is called an
overflow error
Why does overflow occur in an 8-bit register?
• If the value is larger than 255..
• .. then all bits required to represent the value will not fit in the 8-bit register
26
Ch.1: Data Representation Eng. Omar El Safty
5.3 Negative Numbers
A computer can represent both positive and negative using two’s complement.
Example 1:
Represent the negative number -54 in an 8-bit register
1 To convert a negative number, we first convert it as if it was positive:
128 64 32 16 8 4 2 1
0 0 1 1 0 1 1 0
2 Then we flip all the values (each 1 is converted into 0, and each 0 is converted to 1)
128 64 32 16 8 4 2 1
1 1 0 0 1 0 0 1
3 Then add 1 (in the least significant bit) to the binary number
Carry 0 0 0 0 0 0 1 0
Flipped
1 1 0 0 1 0 0 1 +
number
Add 1 0 0 0 0 0 0 0 1
Result 1 1 0 0 1 0 1 0
The denary number -54 in two’s complement is 11001010
IMPORTANT
The most significant bit in two’s complement represents the sign of the number.
Negative numbers have a most significant bit of 1, while positive numbers have a most
significant bit of 0.
27
Ch.1: Data Representation Eng. Omar El Safty
Example 2:
Convert the two’s complement 8-bit binary number 00111011 to a denary number.
1 Place the binary number in the two’s complement table
128 64 32 16 8 4 2 1
0 0 1 1 1 0 1 1
2 Add the denary values for columns containing 1s
32 + 16 + 8 + 2 + 1 = 59
Note that this number had a most significant bit of 0, so the number is a positive number.
Example 3:
Convert the two’s complement 8-bit binary number 10101001 to a denary number.
Steps:
1 Check the most significant bit of the binary number.
This number has a most significant bit of 1, so the number is a negative number
converting negative numbers:
2 Take the two’s complement of the number, by flipping the number and adding 1
Carry 0 0 0 0 0 0 0 0
Flipped
0 1 0 1 0 1 1 0 +
number
Add 1 0 0 0 0 0 0 0 1
Result 0 1 0 1 0 1 1 1
28
Ch.1: Data Representation Eng. Omar El Safty
3 Convert the result from binary to denary normally
128 64 32 16 8 4 2 1
0 1 0 1 0 1 1 1
64 + 16 + 4 + 2 + 1 = 87
4 Place the correct negative sign so the number is -87
29
Ch.1: Data Representation Eng. Omar El Safty
5.4 Logical Shift
The logical shift is a binary operation that moves bits some places either to the left or to the
right.
5.4.1 Logical Left Shift
In logical left shift the bits are moved some places to the left.
Example 1:
The register below is to be shifted one place to the left
Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1
Original 0 0 1 0 0 0 1 1
Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1
After
0 1 0 0 0 1 1 0
Shift
Effect of logical left shift:
In the previous example,
▪ The original denary number was 35
▪ The denary value after the shift is multiplied by 2 to be 70
This means that 1-bit logical left shift causes the denary number to be multiplied by 2
30
Ch.1: Data Representation Eng. Omar El Safty
Example 2:
The register below is to be shifted two places to the left.
Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1
Original 0 0 1 0 0 0 1 1
Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1
After
1 0 0 0 1 1 0 0
Shift
Effect of logical left shift:
In the previous example,
▪ The original denary number was 35
▪ The denary value after the shift is multiplied by 4 to be 140
This means that 2-bit logical left shift causes the denary number to be multiplied by 4 (22 )
IMPORTANT
The effect of left logical shift is
multiplying the original denary value by 2𝑡ℎ𝑒 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑠ℎ𝑖𝑓𝑡𝑒𝑑 𝑝𝑙𝑎𝑐𝑒𝑠
31
Ch.1: Data Representation Eng. Omar El Safty
5.4.2 Logical Right Shift
In logical right shift the bits are moved some places to the right.
Example 1:
The register below is to be shifted one place to the right.
Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1
Original 0 1 0 1 1 0 0 0
Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1
After
0 0 1 0 1 1 0 0
Shift
Effect of logical right shift:
In the previous example,
▪ The original denary number was 88
▪ The denary value after the shift is divided by 2 to be 44
This means that 1-bit logical right shift causes the denary number to be divided by 2
32
Ch.1: Data Representation Eng. Omar El Safty
Example 2:
The register below is to be shifted two places to the right.
Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1
Original 0 1 0 1 1 0 0 0
Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1
After
0 0 0 1 0 1 1 0
Shift
Effect of logical right shift:
In the previous example,
▪ The original denary number was 88
▪ The denary value after the shift is divided by 4 to be 22
This means that 2-bit logical right shift causes the denary number to be divided by 4 (22 )
IMPORTANT
The effect of logical right shift is
dividing the original denary value by 2𝑡ℎ𝑒 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑠ℎ𝑖𝑓𝑡𝑒𝑑 𝑝𝑙𝑎𝑐𝑒𝑠
33
Ch.1: Data Representation Eng. Omar El Safty
5.4.3 Issues with Logical Shift
Example:
The register below is to be shifted one place to the left.
Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1
Original 1 1 0 0 0 0 1 1
Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1
After
1 0 0 0 0 1 1 0
Shift
In the previous example Bit 8 (most significant bit) has been lost, this leads to loss of
accuracy and precision.
Example 2:
The register below is to be shifted one place to the right.
Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1
Original 0 1 0 1 1 0 0 1
Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1
After
0 0 1 0 1 1 0 0
Shift
In the previous example Bit 1 (least significant bit) has been lost, this leads to loss of
accuracy and precision.
34