Download presentation
Presentation is loading. Please wait.
Published byToby Carter Modified over 9 years ago
1
Binary Numbers
2
Why Binary? Maximal distinction among values minimal corruption from noise Imagine taking the same physical attribute of a circuit, e.g. a voltage lying between 0 and 5 volts, to represent a number The overall range can be divided into any number of regions
3
Don’t sweat the small stuff For decimal numbers, fluctuations must be less than 0.25 volts For binary numbers, fluctuations must be less than 1.25 volts 5 volts 0 volts Decimal Binary
4
It doesn’t matter …. Recall the power supply voltage measurements from lab 1 Ideally they should be 5.00 volts and 12.00 volts Typically they were 5.14 volts or 12.22 volts So what, who cares
5
How to represent big integers Use positional weighting, same as with decimal numbers 205 = 2 10 2 + 0 10 1 + 5 10 0 11001101 = 1 2 7 + 1 2 6 + 0 2 5 + 0 2 4 + 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 =128 + 64 + 8 + 4 + 1 = 205
6
Converting 205 to Binary 205/2 = 102 with a remainder of 1, place the 1 in the least significant digit position Repeat 102/2 = 51, remainder 0 1 01
7
Iterate 51/2 = 25, remainder 1 25/2 = 12, remainder 1 12/2 = 6, remainder 0 101 1101 01101
8
Iterate 6/2 = 3, remainder 0 3/2 = 1, remainder 1 1/2 = 0, remainder 1 001101 1001101 11001101
9
Recap 11001101 1 2 7 + 1 2 6 + 0 2 5 + 0 2 4 + 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 205
10
Adding Binary Numbers Same as decimal; if sum of digits in a given position exceeds the base (10 for decimal, 2 for binary) then there is a carry into the next higher position 1 39 +35 74
11
Adding Binary Numbers 1111 0100111 +0100011 1001010
12
Uh oh, overflow What if you use a byte (8 bits) to represent an integer A byte may not be enough to represent the sum of two such numbers 11 10101010 11001100 101110110
13
Bigger Numbers You can represent larger numbers by using more words You just have to keep track of the overflows to know how the lower numbers (less significant words) are affecting the larger numbers (more significant words)
14
Negative numbers Negative x is that number when added to x gives zero Ignoring overflow the two eight-bit numbers above sum to zero 1111111 00101010 11010110 100000000
15
Two’s Complement Step 1: exchange 1’s and 0’s Step 2: add 1 00101010 11010101 11010110
16
Riddle Is it 214? Or is it – 42? Or is it …? It’s a matter of interpretation How was it declared? 11010110
17
Hexadecimal Numbers Even moderately sized decimal numbers end up as long strings in binary Hexadecimal numbers (base 16) are often used because the strings are shorter and the conversion to binary is easier There are 16 digits: 0-9 and A-F
18
Decimal Binary Hex 0 0000 0 1 0001 1 2 0010 2 3 0011 3 4 0100 4 5 0101 5 6 0110 6 7 0111 7 8 1000 8 9 1001 9 10 1010 A 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F
19
Binary to Hex Break a binary string into groups of four bits (nibbles) Convert each nibble separately 111011001001 EC9
20
Addresses With user friendly computers, one rarely encounters binary, but we sometimes see hex, especially with addresses To enable the computer to distinguish various parts, each is assigned an address, a number Distinguish among computers on a network Distinguish keyboard and mouse Distinguish among files Distinguish among statements in a program Distinguish among characters in a string
21
How many? One bit can have two states and thus distinguish between two things Two bits can be in four states and … Three bits can be in eight states, … N bits can be in 2 N states 000 001 010 011 100 101 110 111
22
IP Addresses An IP address is used to identify a network and a host on the Internet It is 32 bits long How many distinct IP addresses are there?
23
Characters We need to represent characters using numbers ASCII (American Standard Code for Information Interchange) is a common way A string of eight bits (a byte) is used to correspond to a character Thus 2 8 =256 possible characters can be represented Actually ASCII only uses 7 bits, which is 128 characters; the other 128 characters are not “standard”
24
Unicode Unicode uses 16 bits, how many characters can be represented? Enough for English, Chinese, Arabic and then some.
25
ASCII 0 00110000 1 00110001 … A 01000001 B 01000010 … a 01100001 b 01100010 …
26
Booleans A Boolean variable is something that is true or false Booleans have two states and could be represented by a single bit (1 for true and 0 for false) Booleans appearing in a program will take up a whole word in memory
27
INPUTOUTPUT AB Sum A XOR B Carry A AND B 0000 0110 1010 1101
28
Fractions Similar to what we’re used to with decimal numbers 3.14159 =3 · 10 0 + 1 · 10 -1 + 4 · 10 -2 + 1 · 10 -3 + 5 · 10 -4 + 9 · 10 -5 11.001001 =1 · 2 1 + 1 · 2 0 + 0 · 2 -1 + 0 · 2 -2 + 1 · 2 -3 + 0 · 2 -4 + 0 · 2 -5 + 1 · 2 -6 (11.001001 3.140625)
29
Converting decimal to binary II 98.6 Integer part 98 / 2 = 49 remainder 0 49 / 2 = 24 remainder 1 24 / 2 = 12 remainder 0 12 / 2 = 6 remainder 0 6 / 2 = 3 remainder 0 3 / 2 = 1 remainder 1 1 / 2 = 0 remainder 1 1100010
30
Converting decimal to binary III 98.6 Fractional part 0.6 2 = 1.2 0.2 2 = 0.4 0.4 2 = 0.8 0.8 2 = 1.6 0.6 2 = 1.2 0.2 2 = 0.4 REPEATS.100110
31
Converting decimal to binary IV Put together the integral and fractional parts 98.6 1100010.1001100110011001
32
Scientific notation Used to represent very large and very small numbers Ex. Avogadro’s number 6.0221367 10 23 particles 602213670000000000000000 Ex. Fundamental charge e 1.60217733 10 -19 C 0.000000000000000000160217733 C
33
Floats SHIFT expression so it is just under 1 and keep track of the number of shifts 1100010.1001100110011001.11000101001100110011001 2 7 Express the number of shifts in binary.11000101001100110011001 2 00000111
34
Mantissa and Exponent.11000101001100110011001 2 00000111 Mantissa.11000101001100110011001 2 00000111 Exponent
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.