Binary
Binary
1
Numeral System
A way for expressing numbers, using symbols in a
consistent manner.
"11" can be interpreted differently:
in the binary symbol: three
in the decimal symbol: eleven
“LXXX” represents 80 in Roman numeral system
For every number, there is a unique representation (or at
least a standard one) in the numeral system
2
Modern numeral system
Positional base 10 numeral systems
◦ Mostly originated from India (Hindu-Arabic numeral system
or Arabic numerals)
Positional number system (or place value system)
◦ use same symbol for different orders of magnitude
For example, “1262” in base 10
◦ the “2” in the rightmost is in “one’s place” representing “2
ones”
◦ The “2” in the third position from right is in “hundred’s place”,
representing “2 hundreds”
◦ “one thousand 2 hundred and sixty two”
◦ 1*103+2*102+6*101+2*100
3
Modern numeral system (2)
In base 10 numeral system
there is 10 symbols: 0, 1, 2, 3, …, 9
Arithmetic operations for positional
system is simple
Algorithm for multi-digit addition,
subtraction, multiplication and division
This is a Chinese Abacus (there are
many other types of Abacus in other
civilizations) dated back to 200 BC
4
Other Positional Numeral System
Base: number of digits (symbols) used in the system.
◦ Base 2 (i.e., binary): only use 0 and 1
◦ Base 8 (octal): only use 0,1,…7
◦ Base 16 (hexadecimal): use 0,1,…9, A,B,C,D,E,F
Like in decimal system,
◦ Rightmost digit: represents its value times the base to the
zeroth power
◦ The next digit to the left: times the base to the first power
◦ The next digit to the left: times the base to the second power
◦ …
◦ For example: binary number 10101
= 1*24+0*23+1*22+0*21+1*20=16+4+1=21
5
Why binary number?
Computer uses binary numeral system, i.e., base 2
positional number system
Each unit of memory media (hard disk, tape, CD …) has two
states to represent 0 and 1
Such physical (electronic) device is easier to make, less prone
to error
E.g., a voltage value between 0-3mv is 0, a value between 3-6 is 1 …
6
Binary => Decimal
Interpret binary numbers (transform to base 10)
1101
= 1*23+1*22+0*21+1*20=8+4+0+1=13
Translate the following binary number to decimal number
101011
7
Generally you can consider other bases
Base 8 (Octal number)
Use symbols: 0, 1, 2, …7
Convert octal number 725 to base 10:
=7*82+2*81+5=…
Now you try:
(1752)8 =
Base 16 (Hexadecimal)
Use symbols: 0, 1, 2, …9, A, B, C,D,E, F
(10A)16 = 1*162+10*160=..
8
Binary number arithmetic
Analogous to decimal number arithmetics
How would you perform addition?
0+0=0
0+1=1
1+1=10 (a carry-over)
Multiple digit addition: 11001+101=
Subtraction:
Basic rule:
Borrow one from next left digit
9
From Base 10 to Base 2: using table
Input : a decimal number
Output: the equivalent number in base 2
Procedure:
Write a table as follows
1. Find the largest two’s power that is smaller than the number
1. Decimal number 234 => largest two’s power is 128
2. Fill in 1 in corresponding digit, subtract 128 from the number
=> 106
3. Repeat 1-2, until the number is 0
4. Fill in empty digits with 0
… 512 256 128 64 32 16 8 4 2 1
1 1 1 0 1 0 1 0
Result is 11101010
10
From Base 10 to Base 2: the recipe
Input: a decimal number
Output: the equivalent number in base 2
Procedure:
1. Divide the decimal number by 2
2. Make the remainder the next digit to the left of the answer
3. Replace the decimal number with the quotient
4. If quotient is not zero, Repeat 1-4; otherwise, done
11
Convert 100 to binary number
100 % 2 = 0 12 % 2 = 0 =>
=> last digit 4th last digit
100 / 2 = 50 12 / 2 = 6
50 % 2 = 0 6%2=0 =>
=> second last digit 5th last digit
50/2 = 25 6/2=3
25 % 2 = 1 3%2=1
=> 3rd last digit => 6th last digit
25 / 2 = 12 3 / 2 =1
1%2=1
=> 7th last digit
The result is 1100100
1/2=0
12 Stop as the decimal #
Data Representation in Computer
In modern computers, all information is represented using
binary values.
Each storage location (cell): has two states
low-voltage signal => 0
High-voltage signal => 1
i.e., it can store a binary digit, i.e., bit
Eight bits grouped together to form a byte
Several bytes grouped together to form a word
Word length of a computer, e.g., 32 bits computer, 64 bits computer
13
Different types of data
Numbers
Whole number, fractional number, …
Text
ASCII code, unicode
Audio
Image and graphics
video
15
Representing Text
Take English text for example
Text is a series of characters
letters, punctuation marks, digits 0, 1, …9, spaces, return
(change a line), space, tab, …
How many bits do we need to represent a character?
1 bit can be used to represent 2 different things
2 bit … 2*2 = 22 different things
n bit 2n different things
In order to represent 100 diff. character
Solve 2n = 100 for n
n=
log 2 100 , here the x refers to the ceiling of x, i.e., the
smallest integer that is larger than x:
16 log 2 100 6.6438 7
There needs a standard way
ASCII code: American Standard Code for
Information Interchange
ASCII codes represent text in computers, communications
equipment, and other devices that use text.
128 characters:
33 are non-printing control characters (now mostly obsolete) [7]
that affect how text and space is processed
94 are printable characters
space is considered an invisible graphic
17
ASCII code
18
There needs a standard way
Unicode
international/multilingual text character encoding
system, tentatively called Unicode
Currently: 21 bits code space
How many diff. characters?
Encoding forms:
UTF-8: each Unicode character represented as one to
four 8-but bytes
UTF-16: one or two 16-bit code units
UTF-32: a single 32-but code unit
19
In Summary
20