Presentation is loading. Please wait.

Presentation is loading. Please wait.

PHY 201 (Blum)1 Binary Numbers. PHY 201 (Blum)2 Why Binary? Maximal distinction among values  minimal corruption from noise Imagine taking the same physical.

Similar presentations


Presentation on theme: "PHY 201 (Blum)1 Binary Numbers. PHY 201 (Blum)2 Why Binary? Maximal distinction among values  minimal corruption from noise Imagine taking the same physical."— Presentation transcript:

1 PHY 201 (Blum)1 Binary Numbers

2 PHY 201 (Blum)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 PHY 201 (Blum)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 PHY 201 (Blum)4 Range actually split in three High Low Forbidden range

5 PHY 201 (Blum)5 It doesn’t matter …. Some of the standard voltages coming from a computer’s power are ideally supposed to be 3.30 volts, 5.00 volts and 12.00 volts Typically they are 3.28 volts, 5.14 volts or 12.22 volts or some such value So what, who cares

6 PHY 201 (Blum)6 How to represent big integers Use positional weighting, same as with decimal numbers 205 = 2  10 2 + 0  10 1 + 5  10 0 Decimal – powers of ten 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 Binary – powers of two

7 PHY 201 (Blum)7 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

8 PHY 201 (Blum)8 Iterate 51/2 = 25, remainder 1 25/2 = 12, remainder 1 12/2 = 6, remainder 0 101 1101 01101

9 PHY 201 (Blum)9 Iterate 6/2 = 3, remainder 0 3/2 = 1, remainder 1 1/2 = 0, remainder 1 001101 1001101 11001101

10 PHY 201 (Blum)10 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

11 PHY 201 (Blum)11 Finite representation Typically we just think computers do binary math. But an important distinction between binary math in the abstract and what computers do is that computers are finite. There are only so many flip-flops or logic gates in the computer. When we declare a variable, we set aside a certain number of flip-flops (bits of memory) to hold the value of the variable. And this limits the values the variable can have.

12 PHY 201 (Blum)12 Same number, different representation 5 using 8 bits 0000 0101 5 using 16 bits 0000 0000 0000 0101 5 using 32 bits 0000 0000 0000 0000 0000 0000 0000 0101

13 PHY 201 (Blum)13 Adding Binary Numbers Same as decimal; if the 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

14 PHY 201 (Blum)14 Adding Binary Numbers 1111 0100111 +0100011 1001010 carries

15 PHY 201 (Blum)15 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. * The End of the World as We Know It 11 10101010 +11001100 101110110

16 PHY 201 (Blum)16 Biggest unsigned integers 4 bit: 1111  15 = 2 4 - 1 8 bit: 11111111  255 = 2 8 – 1 16 bit: 1111111111111111  65535= 2 16 – 1 32 bit: 11111111111111111111111111111111  4294967295= 2 32 – 1 Etc.

17 PHY 201 (Blum)17 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)

18 PHY 201 (Blum)18 Negative numbers Negative x is the number that when added to x gives zero Ignoring overflow the two eight-bit numbers above sum to zero 1111111 00101010 11010110 100000000

19 PHY 201 (Blum)19 Two’s Complement Step 1: exchange 1’s and 0’s Step 2: add 1 (to the lowest bit only) 00101010 11010101 11010110

20 PHY 201 (Blum)20 Sign bit With the two’s complement approach, all positive numbers start with a 0 in the left-most, most-significant bit and all negative numbers start with 1. So the first bit is called the sign bit. But note you have to work harder than just strip away the first bit. 10000001 IS NOT the 8-bit version of –1

21 PHY 201 (Blum)21 Add 1’s to the left to get the same negative number using more bits -5 using 8 bits 11111011 -5 using 16 bits 1111111111111011 -5 using 32 bits 11111111111111111111111111111011 When the numbers represented are whole numbers (positive or negative), they are called integers.

22 PHY 201 (Blum)22 Biggest signed integers 4 bit: 0111  7 = 2 3 - 1 8 bit: 01111111  127 = 2 7 – 1 16 bit: 0111111111111111  32767= 2 15 – 1 32 bit: 01111111111111111111111111111111  2147483647= 2 31 – 1 Etc.

23 PHY 201 (Blum)23 Most negative signed integers 4 bit: 1000  -8 = - 2 3 8 bit: 10000000  - 128 = - 2 7 16 bit: 1000000000000000  -32768= - 2 15 32 bit: 10000000000000000000000000000000  -2147483648= - 2 31 Etc.

24 PHY 201 (Blum)24 Riddle Is it 214? Or is it – 42? Or is it Ö? Or is it …? It’s a matter of interpretation How was it declared? 11010110

25 PHY 201 (Blum)25 3-bit unsigned and signed 7111 6110 5101 4100 3011 2010 1001 0000 3011 2010 1001 0000 111 -2110 -3101 -4100 Think of an odometer reading 999999 and the car travels one more mile.

26 PHY 201 (Blum)26 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)

27 Places 11.001001 PHY 201 (Blum)27 Two’s place One’s place Half’s place Fourth’s place Eighth’s place Sixteenth’s place

28 PHY 201 (Blum)28 Decimal to binary 98.61 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

29 PHY 201 (Blum)29 Decimal to binary 98.61 Fractional part 0.61  2 = 1.22 0.22  2 = 0.44 0.44  2 = 0.88 0.88  2 = 1.76 0.76  2 = 1.52 0.52  2 = 1.04.100111

30 PHY 201 (Blum)30 Decimal to binary Put together the integral and fractional parts 98.61  1100010.100111

31 PHY 201 (Blum)31 Another Example (Whole number part) 123.456 Integer part 123 / 2 = 61 remainder 1 61 / 2 = 30 remainder 1 30 / 2 = 15 remainder 0 15 / 2 = 7 remainder 1 7 / 2 = 3 remainder 1 3 / 2 = 1 remainder 1 1 / 2 = 0 remainder 1 1111011

32 PHY 201 (Blum)32 Checking: Go to All Programs/Accessories/Calculator

33 PHY 201 (Blum)33 Put the calculator in Programmer view

34 PHY 201 (Blum)34 Enter number, put into binary mode

35 PHY 201 (Blum)35 Another Example (fractional part) 123.456 Fractional part 0.456  2 = 0.912 0.912  2 = 1.824 0.824  2 = 1.648 0.648  2 = 1.296 0.296  2 = 0.592 0.592  2 = 1.184 0.184  2 = 0.368 ….0111010…

36 PHY 201 (Blum)36 Checking fractional part: Enter digits found in binary mode Note that the leading zero does not display.

37 PHY 201 (Blum)37 Convert to decimal mode, then

38 Edit/Copy result. Switch to Scientific View. Edit/Paste PHY 201 (Blum)38

39 PHY 201 (Blum)39 Divide by 2 raised to the number of digits (in this case 7, including leading zero) 12 34

40 PHY 201 (Blum)40 Finally hit the equal sign. In most cases it will not be exact

41 PHY 201 (Blum)41 Other way around Multiply fraction by 2 raised to the desired number of digits in the fractional part. For example.456  2 7 = 58.368 Throw away the fractional part and represent the whole number 58  111010 But note that we specified 7 digits and the result above uses only 6. Therefore we need to put in the leading 0. (Also the fraction is less than.5 so there’s a zero in the ½’s place.) 0111010

42 PHY 201 (Blum)42 Limits of the fixed point approach Suppose you use 4 bits for the whole number part and 4 bits for the fractional part (ignoring sign for now). The largest number would be 1111.1111 = 15.9375 The smallest, non-zero number would be 0000.0001 =.0625

43 PHY 201 (Blum)43 Floating point representation Floating point representation allows one to represent a wider range of numbers using the same number of bits. It is like scientific notation. We’ll do this later in the semester.

44 PHY 201 (Blum)44 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

45 PHY 201 (Blum)45 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

46 PHY 201 (Blum)46 Binary to Hex Break a binary string into groups of four bits (nibbles) Convert each nibble separately 111011001001 EC9

47 PHY 201 (Blum)47 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

48 PHY 201 (Blum)48 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

49 PHY 201 (Blum)49 IP(v4) Addresses An IP(v4) 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?

50 PHY 201 (Blum)50 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”

51 PHY 201 (Blum)51 Unicode Unicode uses 16 bits, how many characters can be represented? Enough for English, Chinese, Arabic and then some.

52 PHY 201 (Blum)52 ASCII 0  00110000 (48) 1  00110001 (49) … A  01000001 (65) B  01000010 (66) … a  01100001 (97) b  01100010 (98) …

53 PHY 201 (Blum)53 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

54 PHY 201 (Blum)54 Boolean Operators A.k.a. logical operators Have Boolean input and Boolean output Standard: AND OR NOT XOR (either or but not both) NOR = NOT(OR) NAND = NOT(AND)

55 PHY 201 (Blum)55 Truth Tables AND INPUTOUTPUT ABA AND B 000 010 100 111

56 PHY 201 (Blum)56 Truth Tables (Cont.) OR INPUTOUTPUT ABA OR B 000 011 101 111

57 PHY 201 (Blum)57 Truth Tables (Cont.) XOR (Excluded OR) INPUTOUTPUT ABA XOR B 000 011 101 110

58 PHY 201 (Blum)58 Numbers from Logic All of the numerical operations we have talked about are really just combinations of logical operations E.g. the adding operation is just a particular combination of logic operations Possibilities for adding two bits 0+0=0 (with no carry) 0+1=1 (with no carry) 1+0=1 (with no carry) 1+1=0 (with a carry)

59 PHY 201 (Blum)59 Addition Truth Table INPUTOUTPUT AB Sum A XOR B Carry A AND B 0000 0110 1010 1101

60 PHY 201 (Blum)60 All is NAND Actually you can use one logic gate (the NAND) and a few tricks (like De Morgan’s theorem) to build all of the “combinatorial” circuitry (the circuitry that doesn’t involve memory) NORs work too But we tend to think in ANDs, ORs and NOTs

61 PHY 201 (Blum)61 Bit manipulation You can use an AND to select out part of a word (where s is a 1 or 0, etc) stuvwxyz 11110000 stuv0000 AND gives

62 PHY 201 (Blum)62 IP Addresses Revisted LaSalle’s IP address is what’s called a Class B IP address Of the 32 bits the first two bits are 10 (this identifies us as Class B) The remaining 14 bits of the first two bytes identify us as LaSalle The remaining 2 bytes are for our internals use (to assign computers within LaSalle)

63 PHY 201 (Blum)63 In or Out To see if an address is local to LaSalle, you would restrict your attention to the first two bytes. HOW? AND it with FFFF0000

64 PHY 201 (Blum)64 Subnets A network (like LaSalle’s) can be divided further into sub-networks Then subnet masks are used to determine whether or not another computer is on the same subnet


Download ppt "PHY 201 (Blum)1 Binary Numbers. PHY 201 (Blum)2 Why Binary? Maximal distinction among values  minimal corruption from noise Imagine taking the same physical."

Similar presentations


Ads by Google