1007ICT / 1807ICT / 7611ICT Computer Systems & Networks
2B. Data Representation
Last Lecture
Copyright By PowCoder代写 加微信 powcoder
Computerdata
Representingbinaryintegers
Convertingfrombinarytodecimal
Powersindifferentbases
Integerwordsizes
Convertingfromdecimaltobinary
Hexadecimalandoctalrepresentations
© . Revised and updated by , , and Wee Lum 2
This Lecture’s Content
Learningobjectives
Binaryaddition
Representingnegativenumbers
One’scomplementandTwo’scomplement
Representingcharacterdata,images,andaudio
© . Revised and updated by , , and Wee Lum 3
Learning Objectives
At the end of this lecture you will have:
Learnt how to perform binary addition
Learnt how to represent negative numbers in binary
Learnt how to apply One’s complement and Two’s complement
Gained an understanding of how character data, images, and audio are represented digitally
© . Revised and updated by , , and Wee Lum 4
Binary Addition
How do we add up binary numbers?
We add up each binary place and take any
carry over into the next column.
EG: Single Bit Addition
0011A 0 1 0 1B+ 0 1 1 10
EG: Multiple Bit Addition
0111 0011 1100 0111
1001 A 0110 B+
0010 0100 0110
10011 1010 1111 © . Revised and updated by , , and Wee Lum 5
Negative Integers (Section 4.2)
Sofarwehaveonlydealtwithpositiveintegers.
Weneedsomewayofrepresentingthesigns(+or-).
Wecouldtrymakingthemostsignificantbitinaword 0 for positive numbers and 1 for negative numbers.
Sign 0 = +ve 1= -ve
+2 = 0 0000010 -2 = 1 0000010
+127 = 0 1111111 -127 = 1 1111111
© . Revised and updated by , , and Wee Lum 6
Negative Integers
Sign 0 = +ve 1= -ve
© . Revised and updated by , , and Wee Lum 7
Negative Integers
A problem with this approach, there are two zeroes:
+0 = 0 0000000 -0 = 1 0000000
Sign 0 = +ve 1= -ve
© . Revised and updated by , , and Wee Lum 8
Negative Integers
B – C is equivalent to B + (-C)
Let’strytoadd+7to–5withbinaryadditionandusing the most significant bit as the sign bit
Thisdoesnotwork.Weneedsomeotherwayof representing negative numbers so addition works
+7 0 0000111 -5 1 0000101
+2 1 0001100 = -12!
© . Revised and updated by , , and Wee Lum 9
Sign 0 = +ve 1= -ve
One’s Complement
Usingasignbitplusbinarymagnitudedoesnotwork.
Let’stryusingasignbitplusthebitwisecomplementof
the magnitude.
Thecomplementofabinaryvalueisdefinedasfollows:
Complement
Wecancomplementabinarynumberby complementing each of its bits (change all the 1s to 0s and all the 0s to 1s)
Eg: Binary value: 1000111 Complement: 0111000
© . Revised and updated by , , and Wee Lum 10
One’s Complement
Usingasignbitplusbinarymagnitudedoesnotwork.
Let’stryusingasignbitplusthebitwisecomplement of the magnitude.
+2 = 0 0000010 -2 = 1 1111101
+127 = 0 1111111 -127 = 1 0000000
+0 = 0 0000000 -0 = 1 1111111
Nowlet’strytoaddsomenumberslikebefore
-4 1 1111011
+6 0 0000110
+2 (1)0 0000001 = +1!
-3 1 1111100
-2 1 1111101
-5 (1)1 1111001 = -6!
Carry Bit (ignored)
Stillwrongbutcloser–weareonlyoutby1.
Thecluetowhatiswrongisduetohaving2zeros © . Revised and updated by , , and Wee Lum 11
Two’s Complement (Approach 1)
Letstryone’scomplement+1fornegativenumbers (this is called Two’s complement)
+6=00000110 +2=00000010 -2=11111110 +5=00000101 +1=00000001 -3=11111101 +4=00000100 0=00000000 -4=11111100 +3=00000011 -1=11111111 -5=11111011
Nowletstrytoaddsomenumberslikebefore
+7 0 0000111
-5 1 1111011
+2 (1)0 0000010 = +2
-3 1 1111101
-2 1 1111110
-5 (1)1 1111011 = -5
+3 0 0000011
-5 1 1111011
-2 (1)1 1111110 = -2
This works!
© . Revised and updated by , , and Wee Lum 12
Two’s Complement (Approach 2)
Thereisanalternative(simpler)methodtoobtainthe Two’s complement for a number
Theapproachisasfollows:
1. Start from the right hand side of the binary number
2. For all bits to the left of the first 1
2.1. Change all 1s to 0s and all 0s to 1s
First 1 from the right hand-side
Values in red have been changed in Step 2.1.
© . Revised and updated by , , and Wee Lum 13
Number Representations
Numbersarestoredasawordsizedsetofbits.
Itispossibletousebothsmallerandlargerwords
sizes to represent numbers of different ranges.
Someprogramminglanguages(likeC)mightusethe following unsigned and signed data types on a 32 bit word size architecture:
unsigned char
unsigned int
0 .. 65535
unsigned long int
0 .. 4,294,967,296
-128.. +127
-32768 ..+32767
-2147483648 .. +2147483647
© . Revised and updated by , , and Wee Lum 14
I/O Data Types and Encoding
I/O devices need to represent a wide range of different data types
Keyboard presses
On screen text display
Bitmapped Images and Graphics Audio, Video
A processor needs to be able to process all of these different types
Hence each of these data types has its own internal binary representation
© . Revised and updated by , , and Wee Lum 15
Character Data (Section 4.4)
Keyboard input consists of a series of individual characters
Onscreen text display also consists of characters
Each character is represented using an 8 bit code that is defined by the ASCII standard
We can represent a string of characters using a string of hexadecimal words:“1007GC” = 31 30 30 37 47 43
© . Revised and updated by , , and Wee Lum 16
ASCII Table
‘A’ = 0x41
© . Revised and updated by , , and Wee Lum 17
Character Data
Thereareotherstandardsforrepresentingcharacters. EBCDIC
The EBCDIC (Extended Binary Coded Decimal Interchange Code) is another 8 bit format introduced by IBM.
Unicode uses different sized codewords to represent many 1000’s of
different characters to support a wide number of foreign languages.
The first 128 characters in Unicode are identical to ASCII.
There are several mapping (char to number) methods specified in Unicode: UTF-32, UTF-16, UTF-8, and UTF-7. The numbers indicate the number of bits in one codeword. In some cases a variable number of codewords can be used to represent each character.
Unicode is used in operating systems such as Windows 2000/XP, and in some compilers such as Java (a char in Java is 16 bits).
© . Revised and updated by , , and Wee Lum 18
Bitmap Images
A bitmap image is just a 2D array of unsigned numbers where each element specifies the colour at that location.
The number of bits used to represent each pixel defines the number of colour shades that the bitmap can contain
Each individual element in the array is called a
A computer display is basically just a large bitmap
1 bit Image 12 x 10 pixels
4 bit Image 12 x 10 pixels
12 bits wide
48 bits wide
© . Revised and updated by , , and Wee Lum Tan
0 = black 1 = white
0 = black F = white
Colour Formats
Colour bitmaps can be represented in various ways depending on the colour resolution of the output device
The bit depth (N) determines the number of colours that can be simultaneously displayed on the screen = 2N
Bitmaps – use a single bit to represent each pixel (ON / OFF).
GreyScale – uses up to 8 bits/pixel to generate output from black (0) to white (255).
Colour mapped – uses 8 bits for each pixel as an index into a 24-bit colour (RGB) lookup table to display up to 256 colours (restricted version of True Colour)
True Colour – uses 24-bits / pixel to represent the 3 primary colour components (R,G,B) using 8 bits each. May use 5 bits per component (15/16 bit colour).
Black(0,0,0), White (255,255,255), Red(255,0,0), Blue(0,0,255) etc
Some formats may use BGR instead of RGB
Some formats use 32bits to support an additional alpha channel that specifies transparency for each pixel as well as the RGB colour.
© . Revised and updated by , , and Wee Lum 20
Audio and Sounds
Waveform Audio file format is simply a digitised audio sound wave.
Analogue audio is captured using a microphone and converted to digital in the sound card and stored as PCM.
Analogue to Digital conversion first takes discrete samples or snapshots of the value of the sound wave in time and then quantises (or converts) the value of each sample into an unsigned number using a determined wordsize.
The resulting representation is an array of unsigned words and is called Pulse Code Modulation (PCM)
8-bitExample:8060404020202040406080A0C0COE0E0E0 E0
Sound wave
60 sampled 40
© . Revised and updated by , , and Wee Lum 21
Have considered:
Binary number operations
One’s complement and two’s complement
Representing characters, images and audio
© . Revised and updated by , , and Wee Lum 22
Digital Logic
© . Revised and updated by , , and Wee Lum 23
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com