Binary and Decimal Numbers

396 Views

Download Presentation
## Binary and Decimal Numbers

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**Binary and Decimal Numbers**Prof. Rosenthal**What is a binary number?**• A binary number is a number that includes only ones and zeroes. • The number could be of any length • The following are all examples of binary numbers 0 10101 1 0101010 10 1011110101 01 0110101110 111000 000111 • Another name for binary is base-2 (pronounced "base two")**What is a decimal number?**• The numbers that we are used to seeing are called decimal numbers. • decimal numbers consist of the digits from 0 (zero) through 9. • The following are examples of decimal #'rs 3 76 15 32423234 890 53 • Another name for decimal numbers are base-10 (pronounced "base ten") numbers.**Equivalence of Binary and Decimal**• Every Binary number has a corresponding Decimal value (and vice versa) • Examples: Binary NumberDecimal Equivalent 1 110 2 11 3… …1010111 87**The value of a binary number**• Even though they look exactly the same, the value of the binary number, 101, is different from the value of the decimal number, 101. • The value of the binary number, 101, is equal to the decimal number five (i.e. 5) • The value of the decimal number, 101, is equal to one hundred and one • When you see a number that consists of only ones and zeroes, you must be told if it is a binary number or a decimal number.**All information on computers is stored as numbers**• All information that is processed by computers is converted in one way or another into a sequence of numbers. This includes • numeric information • textual information and • Picutures (We’ll see later how text and pictures can be converted into simple numbers … for now just take our word for it.) • Therefore, if we can derive a way to store and retrieve numbers electronically this method can be used by computers to store and retieve any type of information.**How does a CD store information?**• For detailed information about a CD works, see the following URL:http://electronics.howstuffworks.com/cd.htm • This presentation will only focus on the very basics.**Information is stored using binary numbers**• A binary number is simply a bunch of 1’s and 0’s • CD’s that are created in a factory (we’re not talking about CD-R’s yet) may look perfectly flat. However, there are many microscopic “bumps” on the surface of the CD. • The bumps are laid out in a spiral form on the surface of the CD.**Binary Numbers are at the heart of how a computer stores all**information • Computers Store ALL information using Binary Numbers • Computers use binary numbers in different ways to store different types of information. • Common types of information that are stored by computers are : • Whole numbers (i.e. Integers). Examples: 8 97 -732 0 -5 etc • Numbers with decimal points. Examples: 3.5 -1.234 0.765 999.001 etc • Textual information (including letters, symbols and digits) • Keep reading …**Integers**• Integers (e.g. 87)A computer stores integer numbers (i.e. “whole” numbers) simply as the equivalent binary value for that number.**Numbers with Decimal Points**• Numbers with decimal points (e.g. 87.123) • Internally, a computer stores a number with a decimal point as two different integer numbers (each stored using binary). To get the actual value, the computer performs a mathematical calculation using the two integers to derive the number. • We will NOT discuss here the actual mathematical calculation nor how the computer breaks a number with a decimal point into two integers.[NOTE: The two integers are NOT the whole number part and fractional part.]**Letters and symbols**• Letters and symbols • To store letters and symbols, the computer assigns every character on the keyboard a numerical value. • Computers remember letters and other symbols by storing the binary number for the symbol. • For this system to work a standard numbering system needs to be defined and consistently used for all symbols that the computer needs to process. • See the following slide …**ASCII (Americal Standard Code for Information Interchange)**is the standard numbering given to all characters on a standard keyboard. “ASCII values” range in number from 1 to 128. Some “ASCII values” and their associated symbols are listed to the right. Note that EVERY symbol on a standard keyboard has an ASCII value. Even the digits 0,1,2,…9 have ASCII values. (see next slide) 32 = Space 33 = ! 34 = “ 35 = # 36 = $ 37 = % 38 = & 39 = ` 40 = ( 41 = ) 42 = * 43 = + 44 = , 45 = - 46 = . 47 = / 48 = 0 49 = 1 50 = 2 51 = 3 52 = 4 53 = 5 54 = 6 55 = 7 56 = 8 57 = 9 58 = : 59 = ; 60 = < 61 = = 62 = > 63 = ? ASCII (Americal Standard Code for Information Interchange) Some ASCII values (values 1-31 and 128 are not shown) • 64 = @ • 65 = A • 66 = B • 67 = C • 68 = D • 69 = E • 70 = F • 71 = G • 72 = H • 73 = I • 74 = J • 75 = K • 76 = L • 77 = M • 78 = N • 79 = O • 80 = P • 81 = Q • 82 = R • 83 = S • 84 = T • 85 = U • 86 = V • 87 = W • 88 = X • 89 = Y • 90 = Z • 91 = [ • 92 = \ • 93 = ] • 94 = ^ • 95 = _ • 96 = ` • 97 = a • 98 = b • 99 = c • 100 = d • 101 = e • 102 = f • 103 = g • 104 = h • 105 = i • 106 = j • 107 = k • 108 = l • 109 = m • 110 = n • 111 = o • 112 = p • 113 = q • 114 = r • 115 = s • 116 = t • 117 = u • 118 = v • 119 = w • 120 = x • 121 = y • 122 = z • 123 = { • 124 = | • 125 = } • 126 = ~**Why do 0 through 9 have ASCII values?**• Numbers that are used in mathematical calculations • If a computer needs to do math with a number it will store that number using the appropriate binary representation of the number. • This makes it easier for the computer to perform mathematical calculations with the number. • Example: 5 would be stored as 00000101 • Numbers that are NOT used in mathematical calculations • If the computer does NOT need to do math with the number (e.g. a zip code) then it will generally store the number using the ASCII values of the digits. • In this case using the ASCII value is more efficient (for reasons we will not explain here). • Example 5 would be stored using its ASCII value of 53 which is represented in binary as 00110101**Other numbering systems (Unicode and EBCDIC)**• ASCII • ASCII was the standard numbering system for many years and is still used widely today. • EBCDIC • Is a different numbering system used by IBM Mainframe computers. • It is very similar to ASCII but uses different numbers to represent the symbols. • EBCDIC stands for “Extended Binary Coded Decimal Interchange Code” • Unicode • ASCII and EBCDIC are limited to just the basic English letters and common symbols. • Today computers use many different symbols including letters from languages that don’t use English letters (e.g. Hebrew, Chinese, etc.) and international symbols (e.g. the English pound sign) • Unicode defines a unique number for every symbol in all known languages (e.g. Hebrew, Chinese, etc.) and commonly used non-letter symbols (e.g. English pound sign, copyright symbol, etc). • Modern programs are moving towards using Unicode to store letters and symbols. • It should be noted that Unicode numbers 1-128 correspond to the EXACT SAME symbols as ASCII 1-128**Converting from binary to decimal**• Each position for a binary number has a value. • For each digit, multiply the digit by its position value • Add up all of the products to get the final result • The decimal value of binary 101 is computed below: 4 2 1 -------------------------------------- 1 0 1 1 X 1 = 1 0 X 2 = 0 1 X 4 = 4 ---- 5 add these up position values binary # digit X position value result**What about a longer number?**• In general, the "position values" in a binary number are the powers of two. • The first position value is 20 , i.e. one • The 2nd position value is 21 , i.e. two • The 2nd position value is 22 , i.e. four • The 2nd position value is 23 , i.e. eight • The 2nd position value is 24 , i.e. sixteen • etc. • Example on next slide**Example**• The value of binary 01100001 is decimal 105. This is worked out below: 128 64 32 16 8 4 2 1 ---------------------------------------------------------------------- 0 1 1 0 1 0 0 1 1 X 1 = 1 0 X 2 = 0 0 X 4 = 0 1 X 8 = 8 0 X 16 = 0 1 X 32 = 32 1 X 64 = 64 0 X 128 = 0 ---- Answer: 105**Another example**• The value of binary 10011100 is decimal 156. This is worked out below: 128 64 32 16 8 4 2 1 ---------------------------------------------------------------------- 1 0 0 1 1 1 0 0 0 X 1 = 0 0 X 2 = 0 1 X 4 = 4 1 X 8 = 8 1 X 16 = 16 0 X 32 = 0 0 X 64 = 0 1 X 128 = 128 ---- Answer: 156**Some Terminology**• The following are some terms that are used in the computer field • Each digit of a binary number is called a bit. • A binary number with eight bits (i.e. digits) is called a byte.**How many different numbers?**• There are two different binary numbers with one bit: • 0 • 1 • There are four different binary numbers with two bits: • 00 (i.e. decimal 0) • 01 (i.e. decimal 1) • 10 (i.e. decimal 2) • 11 (i.e. decimal 3)**How many different numbers?**• There are eight different binary numbers with three bits: • 000 (i.e. decimal 0) • 001 (i.e. decimal 1) • 010 (i.e. decimal 2) • 011 (i.e. decimal 3) • 100 (i.e. decimal 4) • 101 (i.e. decimal 5) • 110 (i.e. decimal 6) • 111 (i.e. decimal 7)**# different numbers - General Rule**• For n bits there are 2n different binary numbers: # of bits # of different binary numbers 1 bit: 21 = 2 2 bits: 22 = 4 3 bits: 23 = 8 4 bits: 24 = 16 5 bits: 25 = 32 6 bits: 26 = 64 7 bits: 27 = 128 8 bits: 28 = 256 9 bits: 29 = 512 10 bits: 210 = 1024 etc.**Smallest value for a binary #**• The smallest value for a binary number of any number of bits is zero. • This is the case when all bits are zero:**Smallest value for a binary #**• The smallest value for a binary number with any number of bits is zero (i.e. when all the bits are zeros) # of bits smallest binary # decimal value1 bit: 0 0 2 bits: 00 0 3 bits: 000 0 4 bits: 0000 0 5 bits: 00000 0 6 bits: 000000 0 7 bits: 0000000 0 8 bits: 00000000 0etc.**Largest value for a binary #**• The largest value for a binary number with a specific number of bits (i.e. digits) is when all of the bits are one. • General rule: for a binary number with n bits, the largest possible value is : 2n - 1**Largest numbers**• The following are the largest values for binary numbers with a specific number of bits: # of bits largest binary # decimal value1 bit: 1 1 2 bits: 11 3 3 bits: 111 7 4 bits: 1111 15 5 bits: 11111 31 6 bits: 111111 63 7 bits: 1111111 127 8 bits: 11111111 255etc.**Converting a decimal# to a binary# (1)**• Step 1: figure out how many bits you will need (see the chart on the previous slide). • Example 1: To convert the decimal number 16 to binary, you will need at least 5 bits.(With 4 bits you can only store numbers up to 15 but with 5 bits you can store numbers up to 31) • Example 2: To convert the decimal number 106 to binary, you will need at least 7 bits.(With 6 bits you can only store numbers up to 63 but with 7 bits you can store numbers up to 127)**Converting a decimal# to a binary# (2)**• Step 2: Keep a chart of the position values and the digits for your binary number. At first you will not know what any of the digits will be. • Example: convert decimal 106 to binary • step 1 : figure out that you need 7 bits (see earlier slides) • step 2 : keep track of position values and bits for binary # 64 32 16 8 4 2 1 -------------------------------------------------------------------------------- ? ? ? ? ? ? ? position values binary #**Converting a decimal # to binary (3)**• Step 3: starting with the leftmost digit, see if the position value is greater than, less than or equal to the number you are trying to convert. • if the position value is greater than the number then • make the binary digit in that position zero • if the position value is less than the number then • make the binary digit in that position one • subtract the position value from the decimal # you are trying to convert • if the position value is equal to the number then • make the binary digit in that position one • make the rest of the binary digits zero • you are done**Converting a decimal # to binary (4)**• Step 4: do step 3 again with the next digit. Keep doing this until you've figured out all of the digits.**Example**• Example: convert decimal 106 to binary • Step 1: You need 7 bits (see earlier slides for explination). • Step 2: keep track of position values for bits 64 32 16 8 4 2 1 -------------------------------------------------------------------------------- ? ? ? ? ? ? ? • Step 3: Check leftmost position value (i.e. 64) • 64 is less than 105, therefore • the first binary digit is 1 64 32 16 8 4 2 1 -------------------------------------------------------------------------------- 1 ? ? ? ? ? ? • subtract : 106 - 64 = 42**Example (continued-2)**• Step 4: Check next position value (i.e. 32) • 32 is less than 42, therefore • the next binary digit is 1 64 32 16 8 4 2 1 ------------------------------------------------------------------------------- 1 1 ? ? ? ? ? • subtract : 42 - 32 = 10 • Step 4(continued): Check next position value (i.e. 16) • 16 is greater than 10, therefore • the next binary digit is 0 64 32 16 8 4 2 1 ------------------------------------------------------------------------------- 1 1 0 ? ? ? ?**Example (continued-3)**• Step 4(continued): Check next position value (i.e. 8) • 8 is less than 10, therefore • the next binary digit is 1 64 32 16 8 4 2 1 ------------------------------------------------------------------------------- 1 1 0 1 ? ? ? • subtract : 10 - 8 = 2 • Step 4(continued): Check next position value (i.e. 4) • 4 is greater than 2, therefore • the next binary digit is 0 64 32 16 8 4 2 1 ------------------------------------------------------------------------------- 1 1 0 1 0 ? ?**Example (continued-4)**• Step 4(continued): Check next position value (i.e. 2) • 2 is equal to 2, therefore • the next binary digit is 1 64 32 16 8 4 2 1 ------------------------------------------------------------------------------- 1 1 0 1 0 1 ? • Since the position value was equal to the number (i.e. 2) the rest of the binary digits are all zeros 64 32 16 8 4 2 1 --------------------------------------------------------------------------- 1 1 0 1 0 1 0 • Answer: 1101010**Why is it called "binary" (or base-2)?**• The prefix "bi" means "two" in Latin • Binary derives its name from the fact that the digits in a "Binary" number can only have two possible values, 0 or 1 • It is also called "base-2" based on the fact that the column values are the powers of 2.(i.e. 202122232425 etc. )**What is a hexadecimal or base-16 number.**• A “hexadecimal” number is a number where each digit may be one of sixteen possible values. • The possible values for a hexadecimal digit are: 0 1 2 3 4 5 6 7 8 9 A B C D E F • A digit of “A” stands for the number 10“B” stands for the number 11 “C” stands for the number 12 “D” stands for the number 13 “E” stands for the number 14 “F” stands for the number 15 • Keep reading …**Hexadecimal numbers**• The following are all valid hexadecimal nubmers • A • 9 (yes, a hexadecimal number does not HAVE TO contain letters) • 1001 (yes, a hexadecimal number does not HAVE TO contain letters) • 9C5 • BFE • Etc. • To understand what a specific hexadecimal number means, you can convert it into an equivalent decimal number. (see next slide)**Converting a Hexadecimal number to Decimal**• The value of hexadecimal A12F is decimal 41,263. See below: 4096 (i.e 163) 256 (i.e 162) 16 (i.e 161) 1 (i.e 160) ---------------------------------------------------------------------- A 1 2 F 15 X 1 = 15 2 X 16 = 32 1 X 256 = 256 10 X 4096 = 40,960 ---- Answer: 41,263**Hex numbers are a “shorthand” for binary nubmers**• It is very easy to convert between Hex and binary numbers. • Each Hex number is 1/4th the length of its equivalent binary number. • Therefore Hex is often used as a “shorthand” for writing an equivalent binary number. • Keep reading …**The numbers from decimal 0 through 15 in hex and binary**• Draw a table here with appropriate info.**How a computer stores info.**• A computer stores all information as binary numbers. • Computer memory simply remembers ones and zeros • Computer storage remembers ones and zeros • Data is passed inside the computer from one portion of the computer to another (e.g. memory to CPU to graphics card, etc) by ones and zeros**Terms (bit, byte, etc)**• BIT • definition: a single Binary digIT (i.e. BIT) • BYTE • definition: 8 bits • NYBLE • definition: 4 bits