Binary Expression

download report

Transcript Binary Expression

Binary Expression
Numbers & Text
CS 105
Binary Representation
• At the fundamental hardware level, a modern
computer can only distinguish between two
values, 0 and 1.
• We have to represent the information we
want to store and manipulate in binary format.
Data Representation
•
•
•
•
•
Number
Text
Images and graphics
Audio
Video
Positional Notation
• Base
– Binary (2)
• 0, 1
– Octal (8)
• 0, 1, 2, 3, 4, 5, 6, 7
– Decimal (10)
• 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
– Hexadecimal (16)
• 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
• Positional Notation
– 943 = 9 * 100 + 4 * 10 + 3 * 1
– 63578 = ?
Binary Expression (Binary to Decimal)
• Example1: To convert the binary number
100111 to decimal, we write:
the binary string:
1 0 1 1 1
over the powers of 2: 16 8 4 2 1
16 + 4 + 2 + 1 = 23
• Like bills, no matter how much money you
want, I can always give the accurate amount
by using 1, 2, 4, 8, 16, 32, … bills
Binary Expression (Decimal to Binary)
• Example2: To convert the decimal number 23 to binary, we
do the following divisions, recording the quotients and the
remainders
1. 23 divided by 2 has a quotient of 11 and a remainder of 1.
2. 11 divided by 2 has a quotient of 5 and a remainder of 1.
3. 5 divided by 2 has a quotient of 2 and a remainder of 1.
4. 2 divided by 2 has a quotient of 1 and a remainder of 0.
5. 1 divided by 2 has a quotient of 0 and a remainder of 1.
6. The sequence of remainders we obtained, when collected
the reverse order is the binary representation of 23, namely
10111.
Binary Expression (Decimal to Binary)
• Combination of 1, 2, 4, 8, 16, 32, … bills
–
–
–
–
–
–
–
–
Decimal Number: 23
32 16 8 4 2 1
1. You have 23. Pick 16, and you have 7 left.
2. You have 7. Pick 4 (8 is too large), and you have 3 left.
3. You have 3. Pick 2, and you have 1 left.
4. You have 1. Pick 1
So, …
32 16 8 4 2 1
We have
1 0 1 1 1 (binary expression for 23)
Binary representation.
• Remember, everything on a computer is stored as 0s and 1s.
• Thus, we must interpret these numbers as different forms of data.
• One bit (binary digit) can be either a 0 or a 1.
– Therefore, it can only represent two possibilities: hot or cold, black or
white, on or off, etc…
Numerical data Operation
•
•
Multiply the binary number 101*1001.
–
–
–
–
–
–
•
•
1001
x 101
1001
0000
1001
101101
Add the binary number 100110 + 111001.
–
–
–
–
100110
+
111001
_________________
1011111
Data Representation
•
•
•
•
•
Number
Text
Images and graphics
Audio
Video
Binary representation. cont.
• If we want to represent for things, we must use more bits.
• Two bits can be either 00, 01, 10, or 11.
– Therefore, they can represent four possibilities: cold, cool, warm, or hot;
black, white, and two gray levels; etc …
• This continues until we have enough bits to represent our data.
– In general, n bits can represent 2n things (ie, every time we add a bit,
we double the number of things we can represent by two).
Some terminology.
• Up to this point we have been talking about data in either bits or bytes.
– 1 byte = 8 bits
• While this is the correct way to talk about data, sometimes it is a bit
inefficient.
• Therefore, we use prefixes to given an order of magnitude.
– Much the same way we do with the metric system.
• The following is a list of the common terms.
–
–
–
–
–
Kilobyte (KB) = 103 = 1000 bytes
Megabyte (MB) = 106 = 1 million bytes
Gigabyte (GB) = 109 = 1 billion bytes
Terabyte (TB) = 1012 = 1 trillion bytes
Petabyte (PB) 1015 = 1 quadrillion bytes
Representing text.
• Now we know how numbers are represented by computers, but
what about text, such as term papers, text messages, etc…?
• Well, we can use a technique that we’ve referenced a couple of
times. That is, we can use numbers to represent elements of a set.
–
–
–
–
How could we represent the letters ‘a’ to ‘z’?
One possibility would be to use 0 as ‘a’ and 25 as ‘z’.
Is there a problem with this?
What if we wanted to represent the ‘the ABCs and 123s’?
• We’re going to need a way to represent all letters, numbers, symbols, and
hidden characters. Remember newline?
• In fact there are many different systems used to do this, one of the
most popular is the ascii system, which is used by notepad on
windows.
– ASCII stands for American Standard Code for Information Interchange.
ASCII Character Set
Ascii codes. cont.
• An ascii character is an 8 bit (1 byte) number interpreted to represent
something.
–
–
–
–
–
48 represents ‘0’
82 represents ‘R’
32 represents ‘ ’ (Space)
Etc …
How many characters can be represented by Ascii?
• A program can therefore interpret a chain of 8 bit numbers to represent a
text document.
– Notepad in Windows does just this.
– In notepad, we can verify this by creating a new document. Typing a single
letter in it then saving. If we now check the size of the document, you’ll see
that it is 1 byte.
• Type another character and save … now it’s 2 bytes.
Representing text. cont.
• How about other characters (Latin, Russian, Thai, math symbols, Chinese,
Japanese, Korean, …)?
• There are actually many other standards for representing text on
computers aside from ASCII.
• One very common one is Unicode.
– Unicode is a standard used to represent around 100,000 different characters
covering most languages.
– In fact, in Microsoft Word, try clicking Insert  Symbol. You may notice in the
right hand corner that the set of symbols is taken from Unicode.
• You will also be shown the Hexadecimal version of the code for that character.
– Unicode uses a 16bit (2byte) or 32bit (4byte) code to represent characters
depending on the version of Unicode.
• How many characters can Unicode represent?