Você está na página 1de 29

NUMBER CODING

Lecture #5
Overview
This lecture will cover:
 Bits vs. Bytes

 Representing real numbers in binary form

 Representing negative numbers in binary form

 Octal numbering system

 Hexadecimal numbering system

 Conversion between different numbering systems

 Representing alphanumeric characters in binary

form
Bits vs. Bytes

 “Bits” are often used in terms of a data rate, or speed of


information flow:
 56 Kilobit per second modem (56 Kbps)

 A T-1 is 1.544 Megabits per second (1.544 Mbps or 1544

Kbps)

 “Bytes” are often used in terms of storage or capacity--


computer memories are organized in terms of 8 bits
 256 Megabyte (MB) RAM

 40 Gigabyte (GB) Hard disk


Practical Use

 Everyday stuff measured in bits:


 32-bit sound card

 64-bit video accelerator card

 128-bit encryption in your

browser
Note! The Multipliers for Bits and
Bytes are Slightly Different.
“Kilo” or “Mega” have slightly different values when used with bits per second
or with bytes.

 When Referring to Bytes (as in computer memory)


 Kilobyte (KB) 210 = 1,024 bytes
 Megabyte (MB) 220 = 1,048,576 bytes
 Gigabyte (GB) 230 = 1,073,741,824 bytes
 Terabyte (TB) 240 = 1,099,511,627,776 bytes
 When Referring to Bits Per Second (as in transmission rates)
 Kilobit per second (Kbps) = 1000 bps (thousand)
 Megabit per second (Mbps) = 1,000,000 bps (million)
 Gigabit per second (Gbps) = 1,000,000,000 bps (billion)
 Terabit per second (Tbps) = 1,000,000,000,000 bps (trillion)
More Multipliers for Measuring Bytes

 Kilobyte (K) 210 = 1,024 bytes


 Megabyte (M) 220 = 1,048,576 bytes
 Gigabyte (G) 230 = 1,073,741,824 bytes
 Terabytes (T) 240 = 1,099,511,627,776 bytes
 Petabytes (P) 250 = 1,125,899,906,842,624 bytes
 Exabytes (E) 260 = 1,152,921,504,606,846,976 bytes
 Zettabytes (Z) 270 = 1,180,591,620,717,411,303,424
bytes
 Yottabytes (Y) 280 = 1,208,925,819,614,629,174,706,176
bytes
Representing Real Numbers
in Binary Form
 Previously, we learned how to represent integers in
binary form
 Real numbers can be represented in binary form as
well
 We will illustrate this with a thermometer example:
 A Mercury thermometer reflects temperature that can
continuously vary over its range of measurement (an analog
device)
 A digital thermometer would require an infinite number of
bits to accomplish the same thing
 So: if we are building a digital thermometer, we must make
some choices and determine some parameters:
 Precision (number of bits we will use) vs. the cost
 Accuracy (how true is our measurement against a given
standard)
 What is the range we wish to measure?
 How many bits are we willing to use?
 Suppose we want to measure the temperature range: -40º F to
140º F
 Total measurement range = 180 º F

 If our thermometer measures in 0.01º increments, we need to


represent 18,000 steps (There are 180 º degrees between -40 º
to 140 ºF. Since each degree can have 100 different values, the
number of possible values that the thermometer can measure
is: 180x100=18,000)
 We can accomplish this with a 15 bit code (A 15 bit code can

represent 215=32,768 different values-since we have 18,000


different values we have to represent, a code with 14 bits
will not suffice, as a 14-bit code can only represent
214=16,384 values)
Thermometer Coding (One solution)
15 bit code

140.00º F 100011001010000
139.99º F 100011001001111
139.98º F 100011001001110
139.97º F 100011001001101

0.00º F 000111110100000

-39.98º F 000000000000010
-39.99º F 000000000000001
-40.00º F 000000000000000
Thermometer Coding (Another
solution)

0.04º F 000000000000100
0.03º F 000000000000011
0.02º F 000000000000010
0.01º F 000000000000001
0.00º F 000000000000000
-0.01º F 111111111111111
-0.02º F 111111111111110
-0.03º F 111111111111101
Representing Negative
Numbers in Binary Form
 Negative numbers may also be represented in binary
 This may be accomplished a number of ways:
 The leftmost bit i.e.: MSB may be used to represent the
sign. i.e.: 0 if positive, 1 if negative. ex: 1110 is a negative
number because MSB is “1”. In decimal, this will correspond
to -6. Positive 6 (+6) may then be represented by: 0110
 There is a problem with this scheme in computer logic,

because addition of these numbers in binary will result in:


0110 Positive number
+1110 Negative number
overflow 1 0100
 The result is not 0, it is: 410 with a 1 overflow
 This would cause errors in computing
 To overcome this problem, we can represent the negative
number by using the 2’s complement notation:
 Take the complement (flip the bit values) of the positive number
Step1 with the MSB as a sign bit (a 0 makes the representation positive)
 The binary complement of: 0110 is: 1001
Step2  Add a binary 1
 1001 + 1 = 1010 (-6)

The addition of the original number (+6) and it’s 2’s complemented
value (-6) should give zero:
0110 Positive number
+1010
1 0000 Negative number
overflow

– The result is 0, with a 1 overflow


Example:
 Express the decimal number -5 in 5-bit binary notation.

 First determine the 5-bit binary representation of 5:


 00101

 Then complement (change 1s to 0s and 0s to 1s) each bit:


 11010

 Finally, add 1:
 11011

-5 = 11011 in 2’s complement notation


(To reverse the process take the complement and add 1!)

Note that the 2’s complement of a 2’s complement of a number


equals the original number.
In-class Examples

 Determine the 5-bit binary equivalent of -7 in 2’s complement


notation and show how to reverse the process.

 Determine the decimal value of the 6-bit 2’s complement


number given by 111111.
Octal Numbering system
 There are other ways to “count ” besides the decimal
and binary systems. One example is the octal
numbering system (base 8).
 The Octal numbering system uses the first 8
numerals starting from 0
 The first 20 numbers in the octal system are:
0,1,2,3,4,5,6,7,10,11,12,13,14,15,16,17, 20
21,22,23
 Because there are 8 numerals and 8 patterns that
can be formed by 3 bits, a single octal number may
be used to represent a group of 3 bits
Octal numeral Bit pattern
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
Start here

 For example, the number 1010010101112


may be converted to octal form by grouping
the bits into 3, and looking at the table.
Starting from the right, count 3 digits to the
left. The first 3-bits are: 111, corresponding
to 7. The next 3-bits are: 010, corresponding
to 2. The next are 001, corresponding to 1
and the last 3-bits are 101, corresponding to
5
 Hence, the above binary number may be
represented by: 51278 in octal form
Hexadecimal Numbering
system
 The hex system uses 16 numerals,
starting with zero
 The standard decimal system only
provides 10 different symbols
 So, the letters A-F are used to fill out a
set of 16 different numerals
 We can use hex to represent a grouping
of 4 bits
Decimal Octal Hex Binary
0 0 0 0000
1 1 1 0001
2 2 2 0010
3 3 3 0011
4 4 4 0100
5 5 5 0101
6 6 6 0110
7 7 7 0111
8 10 8 1000
9 11 9 1001
10 12 A 1010
11 13 B 1011
12 14 C 1100
13 15 D 1101
14 16 E 1110
15 17 F 1111
Start here

 For example, the number 1010110101112


may be converted to hexadecimal form by
grouping the bits into 4, and looking at the
table. Starting from the right, count 4 digits
to the left. The first 4-bits are: 0111,
corresponding to 716. The next 4-bits are:
1101, corresponding to D16. The last bits are:
1010, corresponding to A16
 Hence, the above binary number may be
represented by: AD716 in hexadecimal form
Conversion between different
numbering systems

 Conversions are possible between


different numbering systems:
1-Binary to Decimal and vice versa
2-Binary to Octal and vice versa
3-Binary to Hex and vice versa
4-Octal to Decimal and vice versa
5-Hex to Decimal and vice versa
6-Octal to Hex and vice versa
 To convert octal and hex to decimal, we apply the same technique as
converting binary to decimal. Remember that we summed together the
weights of the various positions in the binary number which contained
a “1” to convert from binary to decimal. Similarly, we sum the weights
of the various positions in the octal or hex numbers depending on the
base being used
 Remember that binary is base 2, octal is base 8 and hex is base 16
 Two examples of octal to decimal coversion:
 778 converted to decimal form: 7x81+7x80 =6310
 26358 converted to decimal form: 2x83+ 6x82+3x81+5x80=143710

 Two examples of hex to decimal coversion:


 A516 is converted to decimal form by: 10x161+5x160 =16510
 F8C16 is converted to decimal form by: 15x162+8x161+12x160 =398010

 To convert from octal to hex (or hex to octal), first convert octal (or
hex) to binary, and then convert binary to hex (or octal).
Representing Alphanumeric
Characters in Binary form (ASCII)
 It is important to be able to represent text in
binary form as information is entered into a
computer via a keyboard
 Text may be encoded using ASCII
 ASCII can represent:
 Numerals
 Letters in both upper and lower cases
 Special “printing” symbols such as @, $, %, etc.
 Commands that are used by computers to
represent carriage returns, line feeds, etc
ASCII is an acronym for American Standard Code for Information
Interchange
 Its structure is a 7 bit code (plus a parity bit or an “extended” bit
in some implementations
–ASCII can represent 128 symbols (27 symbols)
Extended ASCII Chart
 This ASCII chart illustrates
Decimal and Hex
representation of numbers,
text and special characters
 Hex can be easily converted
to binary
 Upper case D is 4416
 416 is 01002
 Upper case D is then 0100
0100 in binary
Extended ASCII (Cont…)
 Another example:
You want to represent
the Yen sign (¥)
 From the table: 9D
 916 = 910 = 10012
 D16 = 1310 = 11012
 The ¥ sign in binary is:
1001 1101
ASCII conversion example
 Let us convert You & I, to decimal, hex and
binary using the ASCII code table :
 Y: 8910 5916 10110012
 o: 11110 6F16 11011112
 u: 11710 7516 11101012
 Space: 3210 2016 01000002
 &: 3810 2616 01001102
 Space: 3210 2016 01000002
 I: 7310 4916 10010012
 ,: 4410 2C16 01011002
 You & I, in Hex:
 59 6F 75 20 26 20 49 2C
 You & I, in decimal:
 89 111 117 32 38 32 73 44
 You & I, in binary:
 1011001 1101111 1110101 0100000
0100110 0100000 1001001 0101100
Other Text Codes
 Extended Binary Coded
Decimal Interchange
Code (EBCDIC) used by
IBM-- 8 bit (28 bits) 256
symbols
 Unicode is 16 bit (216)
65,536 symbols
 World Wide Web
supports many languages
 Unicode supports Latin,
Russian, Cherokee and
other alphabet
representations
 www.unicode.org

Você também pode gostar