0% found this document useful (0 votes)
2 views

Chapter 3 Data Storage (1)

Chapter 3 discusses various data storage methods for different data types including integers, text, audio, images, and video. It explains how data is represented in binary form, detailing techniques such as fixed-point, sign-and-magnitude, and two's complement for integers, as well as sampling, quantization, and encoding for audio. Additionally, it covers raster and vector graphics for images, highlighting the importance of resolution and color depth in image representation.

Uploaded by

adn20240403
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Chapter 3 Data Storage (1)

Chapter 3 discusses various data storage methods for different data types including integers, text, audio, images, and video. It explains how data is represented in binary form, detailing techniques such as fixed-point, sign-and-magnitude, and two's complement for integers, as well as sampling, quantization, and encoding for audio. Additionally, it covers raster and vector graphics for images, highlighting the importance of resolution and color depth in image representation.

Uploaded by

adn20240403
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 51

CHAPTER 3: DATA STORAGE

Chapter 3: Data Storage 1


Objective
s
After studying this chapter, the student should be able to:

 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


3.2

representation of images changing in time.


3-1 INTRODUCTION
Data today come in different forms including numbers, text, audio,
image, and video (Figure 3.1).

Figure 3.1 Different types of data

3.3
i

The computer industry uses the term “multimedia” to

define information that contains numbers,

text, images, audio, and video.

3.4
3.1.1 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.

Byte: 8 bits

Word: 16 bits (or more)

Figure 3.2 A bit pattern

1111111101000001
3.5
Figure 3.3 Storage of different data types

3.6
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.

3.7
3.2.1 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.8
Figure 3.4 Fixed point representation of integers

An integer is normally stored in memory using

fixed-point representation.

3.9
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.

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. Byte (8-bit) representation (n=8)

3.10
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.11
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.

3.12
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.13
4
Figure 3.5 shows what happens if we try to store an integer that is larger than 2 − 1 = 15 in a memory

location that can only hold four bits.

Figure 3.5 Overflow in unsigned integers

3.14
Sign-and-magnitude representation
n
In this method, the available range for unsigned integers (0 to 2 − 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.

3.15
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.16
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.17
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.18
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.19
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


Two’s complement representation

Almost all computers use two’s complement representation to store a signed integer in an n-bit memory

location.

n
In this method, the available range for an unsigned integer of (0 to 2 − 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.21
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.

3.22
One’s Complementing

Before we discuss this representation further, we need to introduce two operations. The first is called one’s completing 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.23
Example 3.9

The following shows that we get the original


integer if we apply the one’s complement
operations twice.

3.24
Two’s Complementing

The second operation is called two’s completing 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.25
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.

3.26
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 three extra 0s are added
to the left of the integer to make it eight bits.

3.27
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.28
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.29
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.30
i

There is only one zero in two’s complement notation.

Figure 3.9 Overflow in two’s complement representation


3.2.2 Comparison of the three systems

3.32
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.33
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).
Figure 3.14 Representing symbols using bit patterns

3.34
Ex: How many bits (b) used to represent (n) symbols
b = log2 n

Ex1: How many bits (b) used to represent (64) symbols


b = log2 n
b = log2 64 = log2 26 = 6 log2 2 = 6 X 1 = 6

Ex1: How many bits (b) used to represent (256) symbols


3.35
b = log2 256= log2 28 = 8 log2 2 = 8
Codes

 ASCII

 Unicode

 Other Codes

3.36
3-4 STORING AUDIO
Audio is a representation of sound or music. Audio, by
nature, is different than 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.

In 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 infinite number
of memory locations. Figure 3.15 shows the nature of an
analog signal, such as audio, that varies with time.
Figure 3.15 An audio signal

3.38
3.4.1 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.4.2 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.40
3.4.2 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 refer 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=BXS

R = 40,000 × 16 = 640,000 bits per second

3.41
3.4.4 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 discard information that cannot be

detected by the human ear. This is called lossy compression, as opposed to lossless compression: see

Chapter 15.

3.42
3-5 STORING IMAGES
Images are stored in computers using two
different techniques: raster graphics and
vector graphics.

3.5.1 Raster graphics

Raster graphics (or bitmap graphics) is used when we need to store an analog image such as a

photograph. A photograph consists of analog data, similarly 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.43
Resolution

Just like audio sampling, in image scanning we need to decide how many pixels we need to 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.44
True-Color

One of the techniques used to encode a pixel is called True-Color, which uses 24 bits to encode a pixel.

3.45
Indexed color

The indexed color —or palette color—scheme uses only a portion of these colors. (uses 8-bit)

Figure 3.17 Relationship of the indexed color to the True-Color


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.47
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.48
3.5.2 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.49
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.
i

See Chapter 15 for video compression.


3.50
Important Links
51

 https://drive.google.com/file/d/12kVSE1D
QJm2S1b2FD3tpiEuD7La3_MPF/view?usp
=sharing

04/17/2025 Chapter 1: Software and Software Engineering

You might also like