sims-201 representing information in binary (continued)
Post on 23-Dec-2015
227 Views
Preview:
TRANSCRIPT
SIMS-201
Representing Information in Binary (Continued)
2
Overview Chapter 3 continued:
Binary Coded Decimal (BCD) Representing alphanumeric characters in binary form Bits, Bytes, and Beyond Representing real numbers in binary form Octal numbering system Hexadecimal numbering system Conversion between different numbering systems
3
Binary Coded Decimal (BCD)
Representing one decimal number at a time How can we represent the ten decimal numbers (0-9) in binary code?
NumeralNumeral00112233445566778899
BCD RepresentationBCD Representation00000000000100010010001000110011010001000101010101100110011101111000100010011001
We can represent any integer by a string of binary digits. For example, 749 can be represented in binary as: 011101001001
4
How Many Bits Are Necessary to Represent Something?
1 bit can represent two (21) symbols either a 0 or a 1
2 bits can represent four (22) symbols 00 or 01 or 10 or 11
3 bits can represent eight (23) symbols 000 or 001 or 011 or 111 or 100 or 110 or 101 or 010
4 bits can represent sixteen (24) symbols 5 bits can represent 32 (25) symbols 6 bits can represent 64 (26) symbols 7 bits can represent 128 (27) symbols 8 bits (a byte) can represent 256 (28) symbols n bits can represent (2n) symbols! So…how many bits are necessary for all of us in class to have a
unique binary ID? Are two bits enough? Three? Four? Five? Six? Seven?
5
To think about.. Can 64 bits represent twice as many symbols as 32 bits?
32 bit = 232 = 4,294,967,296 symbols 64 bit = 264 = 1.8 x 1019 symbols 128 bit = 2128 = 3.4 x 1038 symbols
Can 8 bits represent twice as many symbols as 4 bits? 8 bit = 28 = 256 symbols 4 bit = 24 = 16 symbols
Remember that we’re dealing with exponents! 8 bit is twice as big as __________? 7 bit! 7 bits can represent 27 possible symbols or 2x2x2x2x2x2x2 =
128 8 bits can represent 28 possible symbols or 2x2x2x2x2x2x2x2 =
256
6
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.
7
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)
–INFT 101 is: 73 78 70 84 32 49 48 49 (decimal) or
–1001001 1001110 1000110 1010100 0100000 0110001 0110000 0110001 in binary (using Appendix A from the textbook)
–A complete ASCII chart may be found in appendix A in your book
–How do you spell Lecture in ASCII?
8
Extended ASCII Chart
This ASCII chart illustrates Decimal and Hex (Hexadecimal) 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
9
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
10
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
11
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
languages with accents (French, German)
nonLatin alphabets (e.g. Hebrew, Russian)
languages withough alphabets (e.g. Chinese, Japanese)
www.unicode.org
12
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) – temperature can take any value between say 60 and 70 degrees F. There is an infinite number of such possible temperatures.
In order to perfectly represent that, a digital thermometer will need an infinite number of bits (which we can neither generate, store, nor transmit an infinite stream)
So: if we are building a digital thermometer, we must make some choices to determine certain parameters:
Precision (number of bits we will use) vs. the cost Accuracy (how true is our measurement against a given
standard)
13
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 needs to measure in 0.01º increments in order to be considered accurate, then we need to be able to represent 18,000 steps. (There are 180 degrees between -40º to 140º F. Since each degree can have 100 different values (with the 0.01º increments), then 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)
14
Thermometer Coding (One solution)
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
15 bit code
15
Thermometer Coding (Another solution)
0.04º F 0000000000001000.03º F 0000000000000110.02º F 0000000000000100.01º F 0000000000000010.00º F 000000000000000-0.01º F 111111111111111-0.02º F 111111111111110-0.03º F 111111111111101
16
Convenient Forms for Binary Codes
Bits, Bytes, and Beyond
17
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
18
Practical Use
Everyday things measured in bits: 32-bit sound card 64-bit video accelerator card 128-bit encryption in your
browser
19
Note! The Multipliers for Bits and Bytes are Slightly Different.
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)
““Kilo” or “Mega” have slightly different values when used with bits Kilo” or “Mega” have slightly different values when used with bits per second or with bytes.per second or with bytes.
20
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
21
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
22
Octal numeral
Bit pattern
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
23
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
Start here
24
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
25
Decimal Hex Binary
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1110
15 F 1111
26
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
Start here
27
Conversion between different numbering systems
Conversions are possible between different numbering systems:
1 - Binary to Decimal and vice versa2 - Binary to Octal and vice versa3 - Binary to Hex and vice versa4 - Octal to Decimal and vice versa5 - Hex to Decimal and vice versa6 - Octal to Hex and vice versa
28
We learned how to do # 1 in detail in the previous lecture
We learned how to do # 2 and 3 in this lecture
We will learn how to do # 4, 5 and 6 next
29
To convert octal and hex to decimal, we apply the same technique as converting binary to decimal. We recall that, in order to to convert from binary to decimal, we summed together the weights of the positions of the binary number that contained a “1”. Similarly, we sum the weights of the positions in the octal or hex numbers (depending on the base being used).
Binary is base 2, octal is base 8 and hex is base 16
Two examples of octal to decimal conversion: 778 converted to decimal form: 7x81 + 7x80 = 6310 26358 converted to decimal form: 2x83 + 6x82 + 3x81 + 5x80 = 143710
Two examples of hex to decimal conversion: A516 is converted to decimal form by: 10x161 + 5x160 = 16510 F8C16 is converted to decimal form by: 15x162 + 8x161 + 12x160 = 398010
In order to convert from octal to hex (or vice versa), we first convert octal to binary, and then convert binary to hex.
top related