SlideShare a Scribd company logo
3.1
3
Data
Storage
Foundations of Computer Science Cengage Learning
3.2
 List five different data types used in a computer.
 Describe how different data is stored inside a computer.
 Describe how integers are stored in a computer.
 Describe how reals are stored in a computer.
 Describe how text is stored in a computer using one of the
various encoding systems.
 Describe how audio is stored in a computer using sampling,
quantization and encoding.
 Describe how images are stored in a computer using raster
and vector graphics schemes.
 Describe how video is stored in a computer as a
representation of images changing in time.
Objectives
After studying this chapter, the student should be able
to:
3.3
3-1 INTRODUCTION
Data today comes in different forms including numbers,
text, audio, image and video (Figure 3.1).
Figure 3.1 Different types of data
The computer industry uses the term “multimedia” to
define information that contains numbers,
text, images, audio and video.
i
3.4
Data inside the computer
All data types are transformed into a uniform representation
when they are stored in a computer and transformed back to
their original form when retrieved. This universal
representation is called a bit pattern or a string of bits .
Figure 3.2 A bit pattern
Bits:
A bit (binary digit) is the smallest unit of data that can be
stored in a computer.
If we need to store a bit pattern made of sixteen bits, we need
sixteen electronic switches.
A bit pattern with eight bits is called a byte.
3.5
Figure 3.3 Storage of different data types
3.6
Data compression
To occupy less memory space, data is normally compressed
before being stored in the computer. Data compression is a
very broad and involved subject, so we have dedicated the
whole of Chapter 15 to the subject.
Data compression is discussed in Chapter 15.
i
3.7
Error detection and correction
Another issue related to data is the detection and correction
of errors during transmission or storage. We discuss this
issue briefly in Appendix H.
Error detection and correction is discussed
in Appendix H.
i
3.8
3-2 STORING NUMBERS
A number is changed to the binary system before being
stored in the computer memory, as described in Chapter 2.
However, there are still two issues that need to be handled:
1. How to store the sign of the number.
2. How to show the decimal point.
For the decimal point, computers use two different
representations: fixed-point and floating-point. The first is
used to store a number as an integer- without a fraction part,
the second is used to store a number as a real- with a
fractional part.
3.9
Storing integers
Integers are whole numbers (numbers without a fractional
part). For example, 134 and −125 are integers, whereas
134.23 and −0.235 are not. An integer can be thought of as a
number in which the position of the decimal point is fixed:
the decimal point is to the right of the least significant
(rightmost) bit. For this reason, fixed-point representation is
used to store an integer, as shown in Figure 3.4. In this
representation the decimal point is assumed but not stored.
3.10
Figure 3.4 Fixed point representation of integers
An integer is normally stored in memory using
fixed-point representation.
i
3.11
Unsigned representation
An unsigned integer is an integer that can never be negative
and can take only 0 or positive values. Its range is between 0
and positive infinity.
0  (2n -1)
An input device stores an unsigned integer using the
following steps:
1. The integer is changed to binary.
2. If the number of bits is less than n, 0s are added to the
left.
3.12
Example 3.1
Store 7 in an 8-bit memory location using unsigned
representation.
Solution
First change the integer to binary, (111)2. Add five 0s to make a
total of eight bits, (00000111)2. The integer is stored in the
memory location. Note that the subscript 2 is used to emphasize
that the integer is binary, but the subscript is not stored in the
computer.
3.13
Example 3.2
Store 258 in a 16-bit memory location.
Solution
First change the integer to binary (100000010)2. Add seven 0s to
make a total of sixteen bits, (0000000100000010)2. The integer is
stored in the memory location.
Retrieving unsigned integers
An output device retrieves a bit string from memory as a bit
pattern and converts it to an unsigned decimal integer.
3.14
Example 3.3
What is returned from an output device when it retrieves the bit
string 00101011 stored in memory as an unsigned integer?
Solution
Using the procedure shown in Chapter 2, the binary integer is
converted to the unsigned integer 43.
3.15
Figure 3.5 shows what happens if we try to store an integer
that is larger than 24 − 1 = 15 in a memory location that can
only hold four bits.
Figure 3.5 Overflow in unsigned integers
Applications of unsigned integers:
Counting- Addressing- storing other data types (text, images,
audio and video)
3.16
Sign-and-magnitude representation
In this method, the available range for unsigned integers (0
to 2n − 1) is divided into two equal sub-ranges. The first half
represents positive integers, the second half, negative
integers.
Figure 3.6 Sign-and-magnitude representation
In sign-and-magnitude representation, the leftmost
bit defines the sign of the integer. If it is 0, the integer
is positive. If it is 1, the integer is negative.
i
Note that we have two 0s: positive zero and negative zero.
Range: -(2n-1 -1) to +(2n-1 -1)
3.17
Example 3.4
Store +28 in an 8-bit memory location using sign-and-magnitude
representation.
Solution
The integer is changed to 7-bit binary. The leftmost bit is set to 0.
The 8-bit number is stored.
3.18
Example 3.5
Store -28 in an 8-bit memory location using sign-and-magnitude
representation.
Solution
The integer is changed to 7-bit binary. The leftmost bit is set to 1.
The 8-bit number is stored.
3.19
Example 3.6
Retrieve the integer that is stored as 01001101 in sign-and-
magnitude representation.
Solution
Since the leftmost bit is 0, the sign is positive. The rest of the bits
(1001101) are changed to decimal as 77. After adding the sign,
the integer is +77.
3.20
Example 3.7
Retrieve the integer that is stored as 10100001 in sign-and-
magnitude representation.
Solution
Since the leftmost bit is 1, the sign is negative. The rest of the bits
(0100001) are changed to decimal as 33. After adding the sign,
the integer is −33.
3.21
Figure 3.7 shows both positive and negative overflow when
storing an integer in sign-and-magnitude representation
using a 4-bit memory location.
Figure 3.7 Overflow in sign-and-magnitude representation
Applications: used when we quantize an analog signal, such as audio.
3.22
Two’s complement representation
Almost all computers use two’s complement representation
to store a signed integer in an n-bit memory location. In this
method, the available range for an unsigned integer of (0 to
2n − 1) is divided into two equal sub-ranges. The first sub-
range is used to represent nonnegative integers, the second
half to represent negative integers. The bit patterns are then
assigned to negative and nonnegative (zero and positive)
integers as shown in Figure 3.8.
3.23
Figure 3.8 Two’s complement representation
In two’s complement representation, the leftmost bit
defines the sign of the integer. If it is 0, the integer is
positive. If it is 1, the integer is negative.
i
3.24
One’s Complementing
Before we discuss this representation further, we need to
introduce two operations. The first is called one’s
complementing or taking the one’s complement of an
integer. The operation can be applied to any integer, positive
or negative. This operation simply reverses (flips) each bit. A
0-bit is changed to a 1-bit, a 1-bit is changed to a 0-bit.
Example 3.8
The following shows how we take the one’s complement of the
integer 00110110.
3.25
Example 3.9
The following shows that we get the original integer if we apply
the one’s complement operations twice.
3.26
Two’s Complementing
The second operation is called two’s complementing or
taking the two’s complement of an integer in binary. This
operation is done in two steps. First, we copy bits from the
right until a 1 is copied; then, we flip the rest of the bits.
Example 3.10
The following shows how we take the two’s complement of the
integer 00110100.
3.27
Example 3.11
The following shows that we always get the original integer if we
apply the two’s complement operation twice.
An alternative way to take the two’s complement of
an integer is to first take the one’s complement and
then add 1 to the result.
i
3.28
Storing an integer in two’s complement format:
• The integer is changed to an n-bit binary.
• If it is positive or zero, it is stored as it is. If it is negative, take
the two’s complement and then stores it.
Retrieving an integer in two’s complement format:
• If the leftmost bit is 1, the computer applies the two’s
complement operation to the integer. If the leftmost bit is 0, no
operation is applied.
• The computer changes the integer to decimal.
3.29
Example 3.12
Store the integer 28 in an 8-bit memory location using two’s
complement representation.
Solution
The integer is positive (no sign means positive), so after decimal
to binary transformation no more action is needed. Note that five
extra 0s are added to the left of the integer to make it eight bits.
3.30
Example 3.13
Store −28 in an 8-bit memory location using two’s complement
representation.
Solution
The integer is negative, so after changing to binary, the computer
applies the two’s complement operation on the integer.
3.31
Example 3.14
Retrieve the integer that is stored as 00001101 in memory in
two’s complement format.
Solution
The leftmost bit is 0, so the sign is positive. The integer is
changed to decimal and the sign is added.
3.32
Example 3.15
Retrieve the integer that is stored as 11100110 in memory using
two’s complement format.
Solution
The leftmost bit is 1, so the integer is negative. The integer needs
to be two’s complemented before changing to decimal.
3.33
Figure 3.9 Overflow in two’s complement representation
There is only one zero in two’s complement notation.
i
Applications: it is the standard representation for storing
integers in computers today.
3.34
Comparison
3.35
Storing reals
A real is a number with an integral part and a fractional part.
For example, 23.7 is a real number—the integral part is 23
and the fractional part is 7/10. Although a fixed-point
representation can be used to represent a real number, the
result may not be accurate or it may not have the required
precision. The next two examples explain why.
Real numbers with very large integral parts or very
small fractional parts should not be stored in fixed-
point representation.
i
3.36
Example 3.16
In the decimal system, assume that we use a fixed-point
representation with two digits at the right of the decimal point
and fourteen digits at the left of the decimal point, for a total of
sixteen digits. The precision of a real number in this system is
lost if we try to represent a decimal number such as 1.00234: the
system stores the number as 1.00.
Example 3.17
In the decimal system, assume that we use a fixed-point
representation with six digits to the right of the decimal point and
ten digits for the left of the decimal point, for a total of sixteen
digits. The accuracy of a real number in this system is lost if we
try to represent a decimal number such as 236154302345.00. The
system stores the number as 6154302345.00: the integral part is
much smaller than it should be.
3.37
Floating-point representation
The solution for maintaining accuracy or precision is to use
floating-point representation.
Figure 3.9 The three parts of a real number in floating-point representation
A floating point representation of a number is made up of
three parts: a sign, a shifter and a fixed-point number.
Floating-point representation is used in science to represent very small
or very large decimal numbers. In this representation called scientific
notation, the fixed-point section has only one digit to the left of point
and the shifter is the power of 10.
3.38
Example 3.18
The following shows the decimal number
7,452,000,000,000,000,000,000.00
in scientific notation (floating-point representation).
The three sections are the sign (+), the shifter (21) and the fixed-
point part (7.425). Note that the shifter is the exponent.
Some programing languages and calculators shows the number as
+7.425E21
3.39
Example 3.19
Show the number
−0.0000000000000232
in scientific notation (floating-point representation).
The three sections are the sign (-), the shifter (-14) and the
fixed-point part (2.32). Note that the shifter is the exponent.
Solution
We use the same approach as in the previous example—we move
the decimal point after the digit 2, as shown below:
3.40
Example 3.20
Show the number
(101001000000000000000000000000000.00)2
in floating-point representation.
Solution
We use the same idea, keeping only one digit to the left of the
decimal point.
3.41
Example 3.21
Show the number
−(0.00000000000000000000000101)2
in floating-point representation.
Solution
We use the same idea, keeping only one digit to the left of the
decimal point.
3.42
Normalization
To make the fixed part of the representation uniform, both
the scientific method (for the decimal system) and the
floating-point method (for the binary system) use only one
non-zero digit on the left of the decimal point. This is called
normalization. In the decimal system this digit can be 1 to
9, while in the binary system it can only be 1. In the
following, d is a non-zero digit, x is a digit, and y is either 0
or 1.
3.43
Note that the point and the bit 1 to the left of the
fixed-point section are not stored—they are implicit.
i
The mantissa is a fractional part that, together with
the sign, is treated like an integer stored in sign-and-
magnitude representation.
i
We need to remember that it is not an integer- it is a fractional
part that is stoed like an integer. If we insert extra 0s to the right
of the number, the value will not change, whereas in a real integer
if we insert extra 0s to the left of the number, the value will not
change.
3.44
The exponent, the power that shows how many bits the decimal
point should be moved to the left or right, is a signed number.
Although this could have been stored using two’s complement
representation, a new representation, called the Excess system, is
used instead. In the Excess system, both positive and negative
integers are stored as unsigned integers. To represent a positive or
negative integer, a positive integer (called a bias) is added to each
number to shift them uniformly to the non-negative side. The
value of this bias is 2m−1 − 1, where m is the size of the memory
location to store the exponent.
Excess System
3.45
Figure 3.11 Shifting in Excess representation
Example 3.22
We can express sixteen integers in a number system with 4-bit
allocation. By adding seven units to each integer in this range, we
can uniformly translate all integers to the right and make all of
them positive without changing the relative position of the
integers with respect to each other, as shown in the figure. The
new system is referred to as Excess-7, or biased representation
with biasing value of 7.
3.46
Figure 3.12 IEEE standards for floating-point representation
IEEE Standard
3.47
IEEE Specifications
Storage of IEEE standard floating point numbers:
1. Store the sign in S (0 or 1).
2. Change the number to binary.
3. Normalize.
4. Find the values of E and M.
5. Concatenate S, E, and M.
3.48
Example 3.23
Show the Excess_127 (single precision) representation of the
decimal number 5.75.
Solution
a. The sign is positive, so S = 0.
b. Decimal to binary transformation: 5.75 = (101.11)2.
c. Normalization: (101.11)2 = (1.0111)2 × 22.
d. E = 2 + 127 = 129 = (10000001)2, M = 1011. We need to add
nineteen zeros at the right of M to make it 23 bits.
e. The presentation is shown below:
The number is stored in the computer as
01000000101110000000000000000000
01110000000000000000000
3.49
Example 3.24
Show the Excess_127 (single precision) representation of the
decimal number –161.875.
Solution
a. The sign is negative, so S = 1.
b. Decimal to binary transformation: 161.875= (10100001.111)2.
c. Normalization: (10100001.111)2 = (1.0100001111)2 × 27.
d. E = 7 + 127 = 134 = (10000110)2 and M = (0100001111)2.
e. Representation:
The number is stored in the computer as
11000011010000111100000000000000
3.50
Example 3.25
Show the Excess_127 (single precision) representation of the
decimal number –0.0234375.
Solution
a. S = 1 (the number is negative).
b. Decimal to binary transformation: 0.0234375 = (0.0000011)2.
c. Normalization: (0.0000011)2 = (1.1)2 × 2−6.
d. E = –6 + 127 = 121 = (01111001)2 and M = (1)2.
e. Representation:
The number is stored in the computer as
10111100110000000000000000000000
3.51
Retrieving numbers stored in IEEE standard floating point
format:
1. Find the value of S,E, and M.
2. If S=0, set the sign to positive, otherwise set the sign to
negative.
3. Find the shifter (E-127).
4. Denormalize the mantissa.
5. Change the denormalized number to binary to find the
absolute value.
6. Add the sign.
3.52
Example 3.26
The bit pattern (11001010000000000111000100001111)2 is
stored in Excess_127 format. Show the value in decimal.
Solution
a. The first bit represents S, the next eight bits, E and the
remaining 23 bits, M.
b. The sign is negative.
c. The shifter = E − 127 = 148 − 127 = 21.
d. This gives us (1.00000000111000100001111)2 × 221.
e. The binary number is (1000000001110001000011.11)2.
f. The absolute value is 2,104,378.75.
g. The number is −2,104,378.75.
3.53
Figure 3.12 Overflow and underflow in floating-point representation of reals
Overflow and Underflow
Storing Zero
A real number with an integral part and the fractional part set to
zero, that is, 0.0, cannot be stored using the steps discussed
above. To handle this special case, it is agreed that in this case the
sign, exponent and the mantissa are set to 0s.
3.54
Truncation errors
The value of the number stored using floating-point
representation may not be exactly as we expect it to be.
Ex: (1111111111111111.11111111111)2
in memory using excess_127 representation. After normalization,
we have:
(1.11111111111111111111111111)2
the mantissa has 27 1s. This mantissa needs to be truncated to 23
1s. (1111111111111111.11111111)2
the difference between the original number and what is retrieved
is called the truncation error.
3.55
3-3 STORING TEXT
A section of text in any language is a sequence of symbols
used to represent an idea in that language. For example, the
English language uses 26 symbols (A, B, C,…, Z) to
represent uppercase letters, 26 symbols (a, b, c, …, z) to
represent lowercase letters, nine symbols (0, 1, 2, …, 9) to
represent numeric characters and symbols (., ?, :, ; , …, !) to
represent punctuation. Other symbols such as blank,
newline, and tab are used for text alignment and readability.
3.56
Figure 3.13 Representing symbols using bit patterns
We can represent each symbol with a bit pattern. In other words,
text such as “CATS”, which is made up from four symbols, can
be represented as four n-bit patterns, each pattern defining a
single symbol (Figure 3.14).
3.57
The length of the bit pattern that represents a symbol in a
language depends on the number of symbols used in that
language.
3.58
Codes
 ASCII
 Unicode
 Other Codes
See Appendix A
i
3.59
3.60
3-4 STORING AUDIO
Audio is a representation of sound or music. Audio, by
nature, is different to the numbers or text we have discussed
so far. Text is composed of countable entities (characters):
we can count the number of characters in text. Text is an
example of digital data. By contrast, audio is not countable.
Audio is an example of analog data. Even if we are able to
measure all its values in a period of time, we cannot store
these in the computer’s memory, as we would need an
infinite number of memory locations. Figure 3.15 shows the
nature of an analog signal, such as audio, that varies with
time.
3.61
Figure 3.15 An audio signal
3.62
Sampling
If we cannot record all the values of a an audio signal over
an interval, we can record some of them. Sampling means
that we select only a finite number of points on the analog
signal, measure their values, and record them.
Figure 3.16 Sampling an audio signal
3.63
Quantization
The value measured for each sample is a real number. This
means that we can store 40,000 real values for each one
second sample. However, it is simpler to use an unsigned
integer (a bit pattern) for each sample. Quantization refers to
a process that rounds the value of a sample to the closest
integer value. For example, if the real value is 17.2, it can be
rounded down to 17: if the value is 17.7, it can be rounded
up to 18.
3.64
Encoding
The quantized sample values need to be encoded as bit
patterns. Some systems assign positive and negative values
to samples, some just shift the curve to the positive part and
assign only positive values.
If we call the bit depth or number of bits per sample B, the
number of samples per second, S, we need to store S × B bits
for each second of audio. This product is sometimes referred
to as bit rate, R. For example, if we use 40,000 samples per
second and 16 bits per each sample, the bit rate is
R = 40,000 × 16 = 640,000 bits per second
3.65
Standards for sound encoding
Today the dominant standard for storing audio is MP3 (short
for MPEG Layer 3). This standard is a modification of the
MPEG (Motion Picture Experts Group) compression
method used for video. It uses 44100 samples per second and
16 bits per sample. The result is a signal with a bit rate of
705,600 bits per second, which is compressed using a
compression method that discards information that cannot be
detected by the human ear. This is called lossy compression,
as opposed to lossless compression: see Chapter 15.
3.66
3-5 STORING IMAGES
Images are stored in computers using two different
techniques: raster graphics and vector graphics.
Raster graphics
Raster graphics (or bitmap graphics) are used when we
need to store an analog image such as a photograph. A
photograph consists of analog data, similar to audio
information. The difference is that the intensity (color) of
data varies in space instead of in time. This means that data
must be sampled. However, sampling in this case is
normally called scanning. The samples are called pixels
(picture elements).
3.67
Resolution
Just like audio sampling, in image scanning we need to
decide how many pixels we should record for each square or
linear inch. The scanning rate in image processing is called
resolution. If the resolution is sufficiently high, the human
eye cannot recognize the discontinuity in reproduced images.
Color depth
The number of bits used to represent a pixel, its color depth,
depends on how the pixel’s color is handled by different
encoding techniques. The perception of color is how our
eyes respond to a beam of light. Our eyes have different
types of photoreceptor cells: some respond to the three
primary colors red, green and blue (often called RGB), while
others merely respond to the intensity of light.
3.68
True-Color
One of the techniques used to encode a pixel is called True-
Color, which uses 24 bits to encode a pixel.
3.69
Indexed color
The indexed color—or palette color—scheme uses only a
portion of these colors.
Figure 3.17 Relationship of the indexed color to the True-Color
3.70
For example, a high-quality digital camera uses almost three
million pixels for a 3 × 5 inch photo. The following shows
the number of bits that need to be stored using each scheme:
3.71
Standards for image encoding
Several de facto standards for image encoding are in use.
JPEG (Joint Photographic Experts Group) uses the True-
Color scheme, but compresses the image to reduce the
number of bits (see Chapter 15). GIF (Graphic Interchange
Format), on the other hand, uses the indexed color scheme.
3.72
Vector graphics
Raster graphics has two disadvantages: the file size is big
and rescaling is troublesome. To enlarge a raster graphics
image means enlarging the pixels., so the image looks ragged
when it is enlarged. The vector graphic image encoding
method, however, does not store the bit patterns for each
pixel. An image is decomposed into a combination of
geometrical shapes such as lines, squares, or circles.
For example, consider a circle of radius r. The main pieces of
information a program needs to draw this circle are:
1. The radius r and equation of a circle.
2. The location of the center point of the circle.
3. The stroke line style and color.
4. The fill style and color.
3.73
3-6 STORING VIDEO
Video is a representation of images (called frames) over
time. A movie consists of a series of frames shown one after
another. In other words, video is the representation of
information that changes in space and in time. So, if we
know how to store an image inside a computer, we also
know how to store video: each image or frame is
transformed into a set of bit patterns and stored. The
combination of the images then represents the video.
See Chapter 15 for video compression.
i

More Related Content

PDF
Chapter 4
PDF
DigitalLogic_NumberRepresentation.pdf advanced
PDF
Module 2_Data representations.pdf
PPT
Data Representation in Information Technology
PPT
Chapter 02 Data Types
PPT
Ch02_4web456489478465165489445156568.ppt
PPT
intro_Bit_Data_Type_and_opreationon_in computer.ppt
PDF
Unit 1 - Introduction to Digital Computer (computer organization.pdf
Chapter 4
DigitalLogic_NumberRepresentation.pdf advanced
Module 2_Data representations.pdf
Data Representation in Information Technology
Chapter 02 Data Types
Ch02_4web456489478465165489445156568.ppt
intro_Bit_Data_Type_and_opreationon_in computer.ppt
Unit 1 - Introduction to Digital Computer (computer organization.pdf

Similar to Data storage (number,string,sound, image and video (20)

PPT
Mba admission in india
PPT
Lecture 3
PPTX
Representation of Integers
PPTX
Chapter_02_Data_Representation Yifeng Zhu
PPTX
Computer Science 33 - Week 01 - Discussion 1.pptx
PPTX
Chapter_02_The_Language_of_Bits_Any.pptx
PDF
Data representation computer architecture
PDF
Notes unit 2
PPTX
Data Representation
PDF
chapter one && two.pdf
PPT
SD & D Negative Numbers
PPTX
Lecture 1
PDF
bec306c Computer Architecture and Organization
PPT
digitalelectronics.ppt
PPT
Mba admission in india
PDF
CS304PC:Computer Organization and Architecture Unit- III PDF notes .pdf
PPTX
Chapter_Two.pptx data representation in computer
PPT
simple notes for ug students for college
PPTX
Number Representation and Arithmetic Operations.pptx
PPT
Mba admission in india
Lecture 3
Representation of Integers
Chapter_02_Data_Representation Yifeng Zhu
Computer Science 33 - Week 01 - Discussion 1.pptx
Chapter_02_The_Language_of_Bits_Any.pptx
Data representation computer architecture
Notes unit 2
Data Representation
chapter one && two.pdf
SD & D Negative Numbers
Lecture 1
bec306c Computer Architecture and Organization
digitalelectronics.ppt
Mba admission in india
CS304PC:Computer Organization and Architecture Unit- III PDF notes .pdf
Chapter_Two.pptx data representation in computer
simple notes for ug students for college
Number Representation and Arithmetic Operations.pptx
Ad

Recently uploaded (20)

PDF
RMMM.pdf make it easy to upload and study
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
Basic Mud Logging Guide for educational purpose
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
GDM (1) (1).pptx small presentation for students
PPTX
Pharma ospi slides which help in ospi learning
PPTX
Lesson notes of climatology university.
PPTX
master seminar digital applications in india
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
RMMM.pdf make it easy to upload and study
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Abdominal Access Techniques with Prof. Dr. R K Mishra
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Module 4: Burden of Disease Tutorial Slides S2 2025
Basic Mud Logging Guide for educational purpose
O5-L3 Freight Transport Ops (International) V1.pdf
O7-L3 Supply Chain Operations - ICLT Program
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
human mycosis Human fungal infections are called human mycosis..pptx
2.FourierTransform-ShortQuestionswithAnswers.pdf
VCE English Exam - Section C Student Revision Booklet
GDM (1) (1).pptx small presentation for students
Pharma ospi slides which help in ospi learning
Lesson notes of climatology university.
master seminar digital applications in india
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Renaissance Architecture: A Journey from Faith to Humanism
Ad

Data storage (number,string,sound, image and video

  • 1. 3.1 3 Data Storage Foundations of Computer Science Cengage Learning
  • 2. 3.2  List five different data types used in a computer.  Describe how different data is stored inside a computer.  Describe how integers are stored in a computer.  Describe how reals are stored in a computer.  Describe how text is stored in a computer using one of the various encoding systems.  Describe how audio is stored in a computer using sampling, quantization and encoding.  Describe how images are stored in a computer using raster and vector graphics schemes.  Describe how video is stored in a computer as a representation of images changing in time. Objectives After studying this chapter, the student should be able to:
  • 3. 3.3 3-1 INTRODUCTION Data today comes in different forms including numbers, text, audio, image and video (Figure 3.1). Figure 3.1 Different types of data The computer industry uses the term “multimedia” to define information that contains numbers, text, images, audio and video. i
  • 4. 3.4 Data inside the computer All data types are transformed into a uniform representation when they are stored in a computer and transformed back to their original form when retrieved. This universal representation is called a bit pattern or a string of bits . Figure 3.2 A bit pattern Bits: A bit (binary digit) is the smallest unit of data that can be stored in a computer. If we need to store a bit pattern made of sixteen bits, we need sixteen electronic switches. A bit pattern with eight bits is called a byte.
  • 5. 3.5 Figure 3.3 Storage of different data types
  • 6. 3.6 Data compression To occupy less memory space, data is normally compressed before being stored in the computer. Data compression is a very broad and involved subject, so we have dedicated the whole of Chapter 15 to the subject. Data compression is discussed in Chapter 15. i
  • 7. 3.7 Error detection and correction Another issue related to data is the detection and correction of errors during transmission or storage. We discuss this issue briefly in Appendix H. Error detection and correction is discussed in Appendix H. i
  • 8. 3.8 3-2 STORING NUMBERS A number is changed to the binary system before being stored in the computer memory, as described in Chapter 2. However, there are still two issues that need to be handled: 1. How to store the sign of the number. 2. How to show the decimal point. For the decimal point, computers use two different representations: fixed-point and floating-point. The first is used to store a number as an integer- without a fraction part, the second is used to store a number as a real- with a fractional part.
  • 9. 3.9 Storing integers Integers are whole numbers (numbers without a fractional part). For example, 134 and −125 are integers, whereas 134.23 and −0.235 are not. An integer can be thought of as a number in which the position of the decimal point is fixed: the decimal point is to the right of the least significant (rightmost) bit. For this reason, fixed-point representation is used to store an integer, as shown in Figure 3.4. In this representation the decimal point is assumed but not stored.
  • 10. 3.10 Figure 3.4 Fixed point representation of integers An integer is normally stored in memory using fixed-point representation. i
  • 11. 3.11 Unsigned representation An unsigned integer is an integer that can never be negative and can take only 0 or positive values. Its range is between 0 and positive infinity. 0  (2n -1) An input device stores an unsigned integer using the following steps: 1. The integer is changed to binary. 2. If the number of bits is less than n, 0s are added to the left.
  • 12. 3.12 Example 3.1 Store 7 in an 8-bit memory location using unsigned representation. Solution First change the integer to binary, (111)2. Add five 0s to make a total of eight bits, (00000111)2. The integer is stored in the memory location. Note that the subscript 2 is used to emphasize that the integer is binary, but the subscript is not stored in the computer.
  • 13. 3.13 Example 3.2 Store 258 in a 16-bit memory location. Solution First change the integer to binary (100000010)2. Add seven 0s to make a total of sixteen bits, (0000000100000010)2. The integer is stored in the memory location. Retrieving unsigned integers An output device retrieves a bit string from memory as a bit pattern and converts it to an unsigned decimal integer.
  • 14. 3.14 Example 3.3 What is returned from an output device when it retrieves the bit string 00101011 stored in memory as an unsigned integer? Solution Using the procedure shown in Chapter 2, the binary integer is converted to the unsigned integer 43.
  • 15. 3.15 Figure 3.5 shows what happens if we try to store an integer that is larger than 24 − 1 = 15 in a memory location that can only hold four bits. Figure 3.5 Overflow in unsigned integers Applications of unsigned integers: Counting- Addressing- storing other data types (text, images, audio and video)
  • 16. 3.16 Sign-and-magnitude representation In this method, the available range for unsigned integers (0 to 2n − 1) is divided into two equal sub-ranges. The first half represents positive integers, the second half, negative integers. Figure 3.6 Sign-and-magnitude representation In sign-and-magnitude representation, the leftmost bit defines the sign of the integer. If it is 0, the integer is positive. If it is 1, the integer is negative. i Note that we have two 0s: positive zero and negative zero. Range: -(2n-1 -1) to +(2n-1 -1)
  • 17. 3.17 Example 3.4 Store +28 in an 8-bit memory location using sign-and-magnitude representation. Solution The integer is changed to 7-bit binary. The leftmost bit is set to 0. The 8-bit number is stored.
  • 18. 3.18 Example 3.5 Store -28 in an 8-bit memory location using sign-and-magnitude representation. Solution The integer is changed to 7-bit binary. The leftmost bit is set to 1. The 8-bit number is stored.
  • 19. 3.19 Example 3.6 Retrieve the integer that is stored as 01001101 in sign-and- magnitude representation. Solution Since the leftmost bit is 0, the sign is positive. The rest of the bits (1001101) are changed to decimal as 77. After adding the sign, the integer is +77.
  • 20. 3.20 Example 3.7 Retrieve the integer that is stored as 10100001 in sign-and- magnitude representation. Solution Since the leftmost bit is 1, the sign is negative. The rest of the bits (0100001) are changed to decimal as 33. After adding the sign, the integer is −33.
  • 21. 3.21 Figure 3.7 shows both positive and negative overflow when storing an integer in sign-and-magnitude representation using a 4-bit memory location. Figure 3.7 Overflow in sign-and-magnitude representation Applications: used when we quantize an analog signal, such as audio.
  • 22. 3.22 Two’s complement representation Almost all computers use two’s complement representation to store a signed integer in an n-bit memory location. In this method, the available range for an unsigned integer of (0 to 2n − 1) is divided into two equal sub-ranges. The first sub- range is used to represent nonnegative integers, the second half to represent negative integers. The bit patterns are then assigned to negative and nonnegative (zero and positive) integers as shown in Figure 3.8.
  • 23. 3.23 Figure 3.8 Two’s complement representation In two’s complement representation, the leftmost bit defines the sign of the integer. If it is 0, the integer is positive. If it is 1, the integer is negative. i
  • 24. 3.24 One’s Complementing Before we discuss this representation further, we need to introduce two operations. The first is called one’s complementing or taking the one’s complement of an integer. The operation can be applied to any integer, positive or negative. This operation simply reverses (flips) each bit. A 0-bit is changed to a 1-bit, a 1-bit is changed to a 0-bit. Example 3.8 The following shows how we take the one’s complement of the integer 00110110.
  • 25. 3.25 Example 3.9 The following shows that we get the original integer if we apply the one’s complement operations twice.
  • 26. 3.26 Two’s Complementing The second operation is called two’s complementing or taking the two’s complement of an integer in binary. This operation is done in two steps. First, we copy bits from the right until a 1 is copied; then, we flip the rest of the bits. Example 3.10 The following shows how we take the two’s complement of the integer 00110100.
  • 27. 3.27 Example 3.11 The following shows that we always get the original integer if we apply the two’s complement operation twice. An alternative way to take the two’s complement of an integer is to first take the one’s complement and then add 1 to the result. i
  • 28. 3.28 Storing an integer in two’s complement format: • The integer is changed to an n-bit binary. • If it is positive or zero, it is stored as it is. If it is negative, take the two’s complement and then stores it. Retrieving an integer in two’s complement format: • If the leftmost bit is 1, the computer applies the two’s complement operation to the integer. If the leftmost bit is 0, no operation is applied. • The computer changes the integer to decimal.
  • 29. 3.29 Example 3.12 Store the integer 28 in an 8-bit memory location using two’s complement representation. Solution The integer is positive (no sign means positive), so after decimal to binary transformation no more action is needed. Note that five extra 0s are added to the left of the integer to make it eight bits.
  • 30. 3.30 Example 3.13 Store −28 in an 8-bit memory location using two’s complement representation. Solution The integer is negative, so after changing to binary, the computer applies the two’s complement operation on the integer.
  • 31. 3.31 Example 3.14 Retrieve the integer that is stored as 00001101 in memory in two’s complement format. Solution The leftmost bit is 0, so the sign is positive. The integer is changed to decimal and the sign is added.
  • 32. 3.32 Example 3.15 Retrieve the integer that is stored as 11100110 in memory using two’s complement format. Solution The leftmost bit is 1, so the integer is negative. The integer needs to be two’s complemented before changing to decimal.
  • 33. 3.33 Figure 3.9 Overflow in two’s complement representation There is only one zero in two’s complement notation. i Applications: it is the standard representation for storing integers in computers today.
  • 35. 3.35 Storing reals A real is a number with an integral part and a fractional part. For example, 23.7 is a real number—the integral part is 23 and the fractional part is 7/10. Although a fixed-point representation can be used to represent a real number, the result may not be accurate or it may not have the required precision. The next two examples explain why. Real numbers with very large integral parts or very small fractional parts should not be stored in fixed- point representation. i
  • 36. 3.36 Example 3.16 In the decimal system, assume that we use a fixed-point representation with two digits at the right of the decimal point and fourteen digits at the left of the decimal point, for a total of sixteen digits. The precision of a real number in this system is lost if we try to represent a decimal number such as 1.00234: the system stores the number as 1.00. Example 3.17 In the decimal system, assume that we use a fixed-point representation with six digits to the right of the decimal point and ten digits for the left of the decimal point, for a total of sixteen digits. The accuracy of a real number in this system is lost if we try to represent a decimal number such as 236154302345.00. The system stores the number as 6154302345.00: the integral part is much smaller than it should be.
  • 37. 3.37 Floating-point representation The solution for maintaining accuracy or precision is to use floating-point representation. Figure 3.9 The three parts of a real number in floating-point representation A floating point representation of a number is made up of three parts: a sign, a shifter and a fixed-point number. Floating-point representation is used in science to represent very small or very large decimal numbers. In this representation called scientific notation, the fixed-point section has only one digit to the left of point and the shifter is the power of 10.
  • 38. 3.38 Example 3.18 The following shows the decimal number 7,452,000,000,000,000,000,000.00 in scientific notation (floating-point representation). The three sections are the sign (+), the shifter (21) and the fixed- point part (7.425). Note that the shifter is the exponent. Some programing languages and calculators shows the number as +7.425E21
  • 39. 3.39 Example 3.19 Show the number −0.0000000000000232 in scientific notation (floating-point representation). The three sections are the sign (-), the shifter (-14) and the fixed-point part (2.32). Note that the shifter is the exponent. Solution We use the same approach as in the previous example—we move the decimal point after the digit 2, as shown below:
  • 40. 3.40 Example 3.20 Show the number (101001000000000000000000000000000.00)2 in floating-point representation. Solution We use the same idea, keeping only one digit to the left of the decimal point.
  • 41. 3.41 Example 3.21 Show the number −(0.00000000000000000000000101)2 in floating-point representation. Solution We use the same idea, keeping only one digit to the left of the decimal point.
  • 42. 3.42 Normalization To make the fixed part of the representation uniform, both the scientific method (for the decimal system) and the floating-point method (for the binary system) use only one non-zero digit on the left of the decimal point. This is called normalization. In the decimal system this digit can be 1 to 9, while in the binary system it can only be 1. In the following, d is a non-zero digit, x is a digit, and y is either 0 or 1.
  • 43. 3.43 Note that the point and the bit 1 to the left of the fixed-point section are not stored—they are implicit. i The mantissa is a fractional part that, together with the sign, is treated like an integer stored in sign-and- magnitude representation. i We need to remember that it is not an integer- it is a fractional part that is stoed like an integer. If we insert extra 0s to the right of the number, the value will not change, whereas in a real integer if we insert extra 0s to the left of the number, the value will not change.
  • 44. 3.44 The exponent, the power that shows how many bits the decimal point should be moved to the left or right, is a signed number. Although this could have been stored using two’s complement representation, a new representation, called the Excess system, is used instead. In the Excess system, both positive and negative integers are stored as unsigned integers. To represent a positive or negative integer, a positive integer (called a bias) is added to each number to shift them uniformly to the non-negative side. The value of this bias is 2m−1 − 1, where m is the size of the memory location to store the exponent. Excess System
  • 45. 3.45 Figure 3.11 Shifting in Excess representation Example 3.22 We can express sixteen integers in a number system with 4-bit allocation. By adding seven units to each integer in this range, we can uniformly translate all integers to the right and make all of them positive without changing the relative position of the integers with respect to each other, as shown in the figure. The new system is referred to as Excess-7, or biased representation with biasing value of 7.
  • 46. 3.46 Figure 3.12 IEEE standards for floating-point representation IEEE Standard
  • 47. 3.47 IEEE Specifications Storage of IEEE standard floating point numbers: 1. Store the sign in S (0 or 1). 2. Change the number to binary. 3. Normalize. 4. Find the values of E and M. 5. Concatenate S, E, and M.
  • 48. 3.48 Example 3.23 Show the Excess_127 (single precision) representation of the decimal number 5.75. Solution a. The sign is positive, so S = 0. b. Decimal to binary transformation: 5.75 = (101.11)2. c. Normalization: (101.11)2 = (1.0111)2 × 22. d. E = 2 + 127 = 129 = (10000001)2, M = 1011. We need to add nineteen zeros at the right of M to make it 23 bits. e. The presentation is shown below: The number is stored in the computer as 01000000101110000000000000000000 01110000000000000000000
  • 49. 3.49 Example 3.24 Show the Excess_127 (single precision) representation of the decimal number –161.875. Solution a. The sign is negative, so S = 1. b. Decimal to binary transformation: 161.875= (10100001.111)2. c. Normalization: (10100001.111)2 = (1.0100001111)2 × 27. d. E = 7 + 127 = 134 = (10000110)2 and M = (0100001111)2. e. Representation: The number is stored in the computer as 11000011010000111100000000000000
  • 50. 3.50 Example 3.25 Show the Excess_127 (single precision) representation of the decimal number –0.0234375. Solution a. S = 1 (the number is negative). b. Decimal to binary transformation: 0.0234375 = (0.0000011)2. c. Normalization: (0.0000011)2 = (1.1)2 × 2−6. d. E = –6 + 127 = 121 = (01111001)2 and M = (1)2. e. Representation: The number is stored in the computer as 10111100110000000000000000000000
  • 51. 3.51 Retrieving numbers stored in IEEE standard floating point format: 1. Find the value of S,E, and M. 2. If S=0, set the sign to positive, otherwise set the sign to negative. 3. Find the shifter (E-127). 4. Denormalize the mantissa. 5. Change the denormalized number to binary to find the absolute value. 6. Add the sign.
  • 52. 3.52 Example 3.26 The bit pattern (11001010000000000111000100001111)2 is stored in Excess_127 format. Show the value in decimal. Solution a. The first bit represents S, the next eight bits, E and the remaining 23 bits, M. b. The sign is negative. c. The shifter = E − 127 = 148 − 127 = 21. d. This gives us (1.00000000111000100001111)2 × 221. e. The binary number is (1000000001110001000011.11)2. f. The absolute value is 2,104,378.75. g. The number is −2,104,378.75.
  • 53. 3.53 Figure 3.12 Overflow and underflow in floating-point representation of reals Overflow and Underflow Storing Zero A real number with an integral part and the fractional part set to zero, that is, 0.0, cannot be stored using the steps discussed above. To handle this special case, it is agreed that in this case the sign, exponent and the mantissa are set to 0s.
  • 54. 3.54 Truncation errors The value of the number stored using floating-point representation may not be exactly as we expect it to be. Ex: (1111111111111111.11111111111)2 in memory using excess_127 representation. After normalization, we have: (1.11111111111111111111111111)2 the mantissa has 27 1s. This mantissa needs to be truncated to 23 1s. (1111111111111111.11111111)2 the difference between the original number and what is retrieved is called the truncation error.
  • 55. 3.55 3-3 STORING TEXT A section of text in any language is a sequence of symbols used to represent an idea in that language. For example, the English language uses 26 symbols (A, B, C,…, Z) to represent uppercase letters, 26 symbols (a, b, c, …, z) to represent lowercase letters, nine symbols (0, 1, 2, …, 9) to represent numeric characters and symbols (., ?, :, ; , …, !) to represent punctuation. Other symbols such as blank, newline, and tab are used for text alignment and readability.
  • 56. 3.56 Figure 3.13 Representing symbols using bit patterns We can represent each symbol with a bit pattern. In other words, text such as “CATS”, which is made up from four symbols, can be represented as four n-bit patterns, each pattern defining a single symbol (Figure 3.14).
  • 57. 3.57 The length of the bit pattern that represents a symbol in a language depends on the number of symbols used in that language.
  • 58. 3.58 Codes  ASCII  Unicode  Other Codes See Appendix A i
  • 59. 3.59
  • 60. 3.60 3-4 STORING AUDIO Audio is a representation of sound or music. Audio, by nature, is different to the numbers or text we have discussed so far. Text is composed of countable entities (characters): we can count the number of characters in text. Text is an example of digital data. By contrast, audio is not countable. Audio is an example of analog data. Even if we are able to measure all its values in a period of time, we cannot store these in the computer’s memory, as we would need an infinite number of memory locations. Figure 3.15 shows the nature of an analog signal, such as audio, that varies with time.
  • 61. 3.61 Figure 3.15 An audio signal
  • 62. 3.62 Sampling If we cannot record all the values of a an audio signal over an interval, we can record some of them. Sampling means that we select only a finite number of points on the analog signal, measure their values, and record them. Figure 3.16 Sampling an audio signal
  • 63. 3.63 Quantization The value measured for each sample is a real number. This means that we can store 40,000 real values for each one second sample. However, it is simpler to use an unsigned integer (a bit pattern) for each sample. Quantization refers to a process that rounds the value of a sample to the closest integer value. For example, if the real value is 17.2, it can be rounded down to 17: if the value is 17.7, it can be rounded up to 18.
  • 64. 3.64 Encoding The quantized sample values need to be encoded as bit patterns. Some systems assign positive and negative values to samples, some just shift the curve to the positive part and assign only positive values. If we call the bit depth or number of bits per sample B, the number of samples per second, S, we need to store S × B bits for each second of audio. This product is sometimes referred to as bit rate, R. For example, if we use 40,000 samples per second and 16 bits per each sample, the bit rate is R = 40,000 × 16 = 640,000 bits per second
  • 65. 3.65 Standards for sound encoding Today the dominant standard for storing audio is MP3 (short for MPEG Layer 3). This standard is a modification of the MPEG (Motion Picture Experts Group) compression method used for video. It uses 44100 samples per second and 16 bits per sample. The result is a signal with a bit rate of 705,600 bits per second, which is compressed using a compression method that discards information that cannot be detected by the human ear. This is called lossy compression, as opposed to lossless compression: see Chapter 15.
  • 66. 3.66 3-5 STORING IMAGES Images are stored in computers using two different techniques: raster graphics and vector graphics. Raster graphics Raster graphics (or bitmap graphics) are used when we need to store an analog image such as a photograph. A photograph consists of analog data, similar to audio information. The difference is that the intensity (color) of data varies in space instead of in time. This means that data must be sampled. However, sampling in this case is normally called scanning. The samples are called pixels (picture elements).
  • 67. 3.67 Resolution Just like audio sampling, in image scanning we need to decide how many pixels we should record for each square or linear inch. The scanning rate in image processing is called resolution. If the resolution is sufficiently high, the human eye cannot recognize the discontinuity in reproduced images. Color depth The number of bits used to represent a pixel, its color depth, depends on how the pixel’s color is handled by different encoding techniques. The perception of color is how our eyes respond to a beam of light. Our eyes have different types of photoreceptor cells: some respond to the three primary colors red, green and blue (often called RGB), while others merely respond to the intensity of light.
  • 68. 3.68 True-Color One of the techniques used to encode a pixel is called True- Color, which uses 24 bits to encode a pixel.
  • 69. 3.69 Indexed color The indexed color—or palette color—scheme uses only a portion of these colors. Figure 3.17 Relationship of the indexed color to the True-Color
  • 70. 3.70 For example, a high-quality digital camera uses almost three million pixels for a 3 × 5 inch photo. The following shows the number of bits that need to be stored using each scheme:
  • 71. 3.71 Standards for image encoding Several de facto standards for image encoding are in use. JPEG (Joint Photographic Experts Group) uses the True- Color scheme, but compresses the image to reduce the number of bits (see Chapter 15). GIF (Graphic Interchange Format), on the other hand, uses the indexed color scheme.
  • 72. 3.72 Vector graphics Raster graphics has two disadvantages: the file size is big and rescaling is troublesome. To enlarge a raster graphics image means enlarging the pixels., so the image looks ragged when it is enlarged. The vector graphic image encoding method, however, does not store the bit patterns for each pixel. An image is decomposed into a combination of geometrical shapes such as lines, squares, or circles. For example, consider a circle of radius r. The main pieces of information a program needs to draw this circle are: 1. The radius r and equation of a circle. 2. The location of the center point of the circle. 3. The stroke line style and color. 4. The fill style and color.
  • 73. 3.73 3-6 STORING VIDEO Video is a representation of images (called frames) over time. A movie consists of a series of frames shown one after another. In other words, video is the representation of information that changes in space and in time. So, if we know how to store an image inside a computer, we also know how to store video: each image or frame is transformed into a set of bit patterns and stored. The combination of the images then represents the video. See Chapter 15 for video compression. i