* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download ppt
		                    
		                    
								Survey							
                            
		                
		                
                            
                            
								Document related concepts							
                        
                        
                    
						
						
							Transcript						
					
					Computer Science 1000 Digital Information  What is a number? An arithmetical value, expressed by a word, symbol, or figure, representing a particular quantity – Oxford English Dictionary  in other words, a number has two components:  quantity: the "amount"  representation: how that amount is represented   Number – Example consider the following quantity of people  how can we represent this number in print?  7  the word seven  VII (Roman Numerals)  (tally marks)   Number the point is, there is more than one way to represent the same quantity  the choice depends largely on the application   Decimal Number System also referred to as base 10  a widely used number system, and probably the one you are used to  each number is represented as a sequence of digits: 0 1 2 3 4 5 6 7 8 9  the quantity of people from the previous slide is represented as: 7   Decimal Number System  why is decimal so widely used? From: A Manual of Greek Mathematics By Thomas Little Heath  Binary Number System also referred to as base 2  the system that computers use to store numbers  each number is represented as a sequence of digits: 0 1  the quantity of people from the previous slide is represented as: 111   Binary Number System  why do computers use a binary number system?  most electronic storage has two states: on/off     RAM: capacitor charged or not charged HD: polarity of magnetic field processor: open/closed switch difficult to store information reliably in more than two states  quantum computers are an exception  Binary Numbers our upcoming discussion will be to familiarize you with the binary number system (plus a few others)  for this discussion, we will assume that our quantities are:  positive  integral (no fractions)   we will relax these assumptions later on  Binary Number   any positive, integral quantity that can be represented in decimal can also be represented in binary Dec Bin Dec Bin Dec Bin Dec Bin 0 0 4 100 8 1000 12 1100 1 1 5 101 9 1001 13 1101 2 10 6 110 10 1010 14 1110 3 11 7 111 11 1011 15 1111 the rules for representation are very similar in both systems  Decimal Numbers  what does base 10 really mean? each digit in the number represents a quantity to be multiplied by a power of 10  these values are all summed together   for example, consider the number 1234 1234 = 1 x 1000 + 2 x 100 + 3 x 10 +4x1 = 1 x 103 + 2 x 102 + 3 x 101 + 4 x 100  Leading Zeroes    suppose I wanted to write 1234 using 5 digits what is the correct representation? Answer: 01234     these are known as leading zeroes they do not affect the quantity, as their power of 10 is multiplied by zero in decimal, leading zeroes are typically not reported for binary applications like computing, leading zeroes are often shown  Binary Numbers  the digits in base 2 represent a similar idea as in decimal    each digit represents a value to be multiplied to a power however, instead of multiplying to a power of 10, they are multiplied to a power of 2 for example, consider the binary number 1101 1101 =1x +1x +0x +1x 8 4 2 1 = 1 x 23 + 1 x 22 + 0 x 21 + 1 x 20 In other words, the number 1101 in binary is the number 13 in decimal.  Binary Conversion to Decimal:  for each binary digit:  copy the digits vertically on its own line   multiply each digit by a power of two    I typically write the left-most digit on the top, and the right-most digit on the bottom bottom digit: 20 = 1 increase by one power for each vertical step add all values together  Binary Conversion to Decimal: example: convert 11001 to decimal  Step 1: Write the values vertically  1  1  0  0  1   Binary Conversion to Decimal: example: convert 11001 to decimal  Step 2: Multiply each value by a power of 2  1 x 24 = 1 x 16 = 16  1 x 23 = 1 x 8 = 8  0 x 22 = 0 x 4 = 0  0 x 21 = 0 x 2 = 0  1 x 20 = 1 x 1 = 1   Binary Conversion to Decimal: example: convert 11001 to decimal  Step 3: Add numbers together  1 x 24 = 1 x 16 = 16  1 x 23 = 1 x 8 = 8  0 x 22 = 0 x 4 = 0  0 x 21 = 0 x 2 = 0  1 x 20 = 1 x 1 = 1  Decimal: 25   Binary Conversion to Decimal:  Example 2: Recall that letters are represented in the computer using numbers. The ASCII value for 'K' is 1001011 in binary. What is this number in decimal?  Binary Conversion to Decimal: 1 x 26 = 1 x 16 = 64  0 x 25 = 0 x 16 = 0  0 x 24 = 0 x 16 = 0  1 x 23 = 1 x 8 = 8  0 x 22 = 0 x 4 = 0  1 x 21 = 1 x 2 = 2  1 x 20 = 1 x 1 = 1  Decimal: 75  http://jeroenstaneke.girlshopes.com/binarytoascii/  Converting Decimal to Binary converting from decimal to binary is straightforward  converting to binary from decimal is a bit more involved  however, it is easily accomplished if you follow the steps   Converting Decimal to Binary – Steps  To convert number X to binary  Repeat following steps until X = 0    if X is odd, then write a one Write right-to-left if X is even, then write a zero divide X by 2, and ignore any remainder or fraction  Example: Convert the number 19 to binary  Repeat following steps until X = 0    X = 19 9    if X is odd, then write a one if X is even, then write a zero divide X by 2, and ignore any remainder or fraction since 19 is odd, we write a one we then divide 19 by 2 to get 9.5 since we ignore the fraction, our new number is 9 Result: 1 Remember: Write right-to-left  Example: Convert the number 19 to binary  Repeat following steps until X = 0    X = 19 9 4    if X is odd, then write a one if X is even, then write a zero divide X by 2, and ignore any remainder or fraction since 9 is odd, we write a one we then divide 9 by 2 to get 4.5 since we ignore the fraction, our new number is 4 Result: 11 Remember: Write right-to-left  Example: Convert the number 19 to binary  Repeat following steps until X = 0    X = 19 9 4 2    if X is odd, then write a one if X is even, then write a zero divide X by 2, and ignore any remainder or fraction since 4 is even, we write a zero we then divide 4 by 2 to get 2 since there is no fraction, our new number is 4 Result: 0 11 Remember: Write right-to-left  Example: Convert the number 19 to binary  Repeat following steps until X = 0    X = 19 9 4 2 1    if X is odd, then write a one if X is even, then write a zero divide X by 2, and ignore any remainder or fraction since 2 is even, we write a zero we then divide 2 by 2 to get 1 since there is no fraction, our new number is 1 Result: 0 0 11 Remember: Write right-to-left  Example: Convert the number 19 to binary  Repeat following steps until X = 0    X = 19 9 4 2 1 0    if X is odd, then write a one if X is even, then write a zero divide X by 2, and ignore any remainder or fraction since 1 is odd, we write a one we then divide 1 by 2 to get 0.5 since we ignore the fraction, our new number is 0 Result: 1 0 0 11 Remember: Write right-to-left  Example: Convert the number 19 to binary  Repeat following steps until X = 0    X = 19 9 4 2 1 0 Since X is now zero, we are done. Hence, 19 as a binary number is 10011    if X is odd, then write a one if X is even, then write a zero divide X by 2, and ignore any remainder or fraction since 1 is odd, we write a one we then divide 1 by 2 to get 0.5 since we ignore the fraction, our new number is 0 Result: 1 0 0 11 Remember: Write right-to-left  Example: Convert the number 19 to binary  check your work: convert 10011 back to decimal       1 x 24 = 1 x 16 = 16 0 x 23 = 0 x 8 = 0 0 x 22 = 0 x 4 = 0 1 x 21 = 1 x 2 = 2 1 x 20 = 1 x 1 = 1 Decimal: 19 Result checks out.  Example 2: Convert the number 53 to binary X = 53 26 13 6 3 1 0 Result:        1 x 25 = 1 x 32 = 32 1 x 24 = 1 x 16 = 16 0 x 23 = 0 x 8 = 0 1 x 22 = 0 x 4 = 4 0 x 21 = 1 x 2 = 0 1 x 20 = 1 x 1 = 1 Decimal: 53 110101 Result checks out.  Decimal to Binary – An Alternative Approach  the steps for converting from decimal to binary can also be written as follows:  Repeat following steps until X = 0    the two approaches are equivalent, since:    divide X by 2 assign the remainder digit to result if X is odd, then dividing by 2 produces a remainder of 1 if X is even, then dividing by 2 produces a remainder of 0 you are welcome to use either method in your lab  Other Bases    most people use base 10 encodings computers use base 2 encodings however, there are two other popular encodings, particularly in computer science    octal – base 8 hexadecimal (hex) – base-16 we can extend our previous statement about binary and decimal representations to:  any positive, integral quantity that can be represented in decimal can also be represented in binary, octal, or hex  Octal Number System also referred to as base 8  octal numbers have special uses  older computers  file permissions (shown later)  each number is represented as a sequence of digits: 0 1 2 3 4 5 6 7  the quantity of people, in octal: 7   Octal Numbers   the digits in base 8 represent powers of 8 for example, consider the octal number 3624 3624 = 3 x 512 + 6 x 64 +2x 8 +4x 1 = 3 x 83 + 6 x 82 + 2 x 81 + 4 x 80  Octal Conversion to Decimal:   example: convert 3624 to decimal use our binary converter, but use powers of 8 3 x 83 = 3 x 512  6 x 82 = 6 x 64  2 x 81 = 2 x 8  4 x 80 = 4 x 1  Decimal:  = 1536 = 384 = 16 = 4 1940  Decimal Conversion to Octal     can modify our decimal to binary converter to get octal however, we typically are more interested in converting octal numbers to binary it turns out, it is really easy to convert octal numbers to binary if one then desires the decimal representation:  convert the decimal to binary  convert binary to octal  Octal to Binary for starters, let's consider the single-digit octal numbers, written in binary  note that we will use leading zeroes, so that they are all three binary digits long  Octal Bin Octal Bin 0 000 4 100 1 001 5 101 2 010 6 110 3 011 7 111  Octal to Binary  Bin Octal Bin 0 000 4 100 1 001 5 101 2 010 6 110 3 011 7 111 the binary representation for the octal number 467 is:   Octal 100110111 notice anything? each group of three digits in the binary number make up an octal digit  i.e. 100110111 = 100 110 111 = 467   Converting Octal to Binary – Steps  To convert octal number X to binary  Repeat for each octal digit, left to right   write the three binary digits that correspond to the octal digit If desired, remove any leading zeroes from the result  Octal Bin Octal Bin 0 000 4 100 1 001 5 101 2 010 6 110 3 011 7 111 Converting Octal to Binary  example: convert octal 7234 to binary  Solution: 111010011100 111 010 011 100 7 2 3 4  Octal Bin Octal Bin 0 000 4 100 1 001 5 101 2 010 6 110 3 011 7 111 Converting Octal to Binary  example: convert octal 1762 to binary  Solution: 001111110010 1111110010 (no leading zeroes) 001 111 110 010 1 7 6 2  Converting Octal to Binary – Steps  To convert binary number X to octal  For each group of three digits in X (right to left)   write the corresponding octal digit from our table (right to left) if the number of binary digits remaining is 1 or 2, then add leading zeroes to make three digits  Octal Bin Octal Bin 0 000 4 100 1 001 5 101 2 010 6 110 3 011 7 111 Converting Binary to Octal  example: convert binary 111010011100  Solution: 7234 7 2 3 4 111 010 011 100  Octal Bin Octal Bin 0 000 4 100 1 001 5 101 2 010 6 110 3 011 7 111 Converting Binary to Octal  example: convert binary 1111110010  Solution: 1762 1 7 6 2 0011 111 110 010 add leading zeroes  Octal – Uses   one common place where octal numbers are used are for file permissions in a Linux system briefly stated, there are three types of file permissions     read: a user can read the contents of a file write: a user can save contents to the file execute: a user can execute (run) the file there are three types of users:    the owner of the file people in the owner's group everyone else  Octal – Uses   permissions in files are either yes/no (binary) hence, we can represent all possible permissions with 9 binary bits          first bit: does the owner of the file have read permission second bit: does the owner of the file have write permission third bit: does the owner of the file have execute permission fourth bit: does the owner's group have read permission fifth bit: does the owner's group have write permission sixth bit does the owner's group have execute permission seventh bit: does everyone have read permission eighth bit: does everyone have write permission ninth bit: does everyone have execute permission  Octal Bin Octal Bin 0 000 4 100 1 001 5 101 2 010 6 110 3 011 7 111 Octal – Uses  we can represent these 9 bits using three octal digits     first digit: user permissions second digit: group permissions third digit: everyone else's permissions e.g. suppose that a file has permissions: 750     in binary: 111 101 000 file owner has all permissions owner's group has read and execute permission everyone else has no permission  Hex Number System also referred to as base 16  hex numbers have special uses  memory addresses  colours   like our other systems (decimal, binary, octal), represented as a sequence of digits 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ....  what are the other digits?   Hex Number System  hex uses the letters A to F to represent its remaining 6 digits:          10 in decimal is A in hex 11 in decimal is B in hex 12 in decimal is C in hex 13 in decimal is D in hex 14 in decimal is E in hex 15 in decimal is F in hex e.g. 4E7F represents a hexidecimal number note that some people write hex in lower case (4e7f) the quantity of people, in hex: 7  Hex Numbers   the digits in base 16 represent powers of 16 for example, consider the hex number 4E7F 4E7F = 4 x 163 + E x 162 + 7 x 161 + F x 160 = 4 x 4096 + 14 x 256 + 7 x 16 + 15 x 1  Hex Conversion to Decimal:   example: convert 4E7F to decimal use our binary converter, but use powers of 16 4 x 163 = 4 x 4096 = 16384  E x 162 = 14 x 256 = 3584  7 x 161 = 7 x 16 = 112  F x 160 = 15 x 1 = 15  Decimal: 20095   Decimal Conversion to Hex    can modify our decimal to hex converter to get octal like octal numbers, we typically convert between hex and binary like octal, it is really easy to convert hex numbers to binary  Hex to Binary like octal, we can write all digits of hex using a fixed sequence of 4 binary digits  leading zeroes are used when necessary  Hex Bin Hex Bin Hex Bin Hex Bin 0 0000 4 0100 8 1000 C 1100 1 0001 5 0101 9 1001 D 1101 2 0010 6 0110 A 1010 E 1110 3 0011 7 0111 B 1011 F 1111  Hex Bin Hex Bin Hex Bin Hex Bin 0 0000 4 0100 8 1000 C 1100 1 0001 5 0101 9 1001 D 1101 2 0010 6 0110 A 1010 E 1110 3 0011 7 0111 B 1011 F 1111 Hex to Binary  the binary representation for the hex number 8B7 is:   100010110111 similar to octal: each group of four digits in the binary number make up a hex digit  i.e. 100010110111 = 1000 1011 0111 = 8B7   Converting Hex to Binary – Steps  To convert hex number X to binary  Repeat for each digit, left to right   write the four binary digits that correspond to the hex digit If desired, remove any leading zeroes from the result  Hex Bin Hex Bin Hex Bin Hex Bin 0 0000 4 0100 8 1000 C 1100 1 0001 5 0101 9 1001 D 1101 2 0010 6 0110 A 1010 E 1110 3 0011 7 0111 B 1011 F 1111 Converting Hex to Binary  example: convert hex C234 to binary  Solution: 1100001000110100 1100 0010 C 2 0011 0100 3 4  Hex Bin Hex Bin Hex Bin Hex Bin 0 0000 4 0100 8 1000 C 1100 1 0001 5 0101 9 1001 D 1101 2 0010 6 0110 A 1010 E 1110 3 0011 7 0111 B 1011 F 1111 Converting Hex to Binary  example: convert hex 3762 to binary  Solution: 0011011101100010 11011101100010 0011 0111 3 7 (no leading zeroes) 0110 0010 6 2  Converting Hex to Binary – Steps  To convert binary number X to hex  For each group of four digits in X (right to left)   write the corresponding hex digit from our table (right to left) if the number of binary digits remaining is 1, 2, or 3, then add leading zeroes to make four digits  Hex Bin Hex Bin Hex Bin Hex Bin 0 0000 4 0100 8 1000 C 1100 1 0001 5 0101 9 1001 D 1101 2 0010 6 0110 A 1010 E 1110 3 0011 7 0111 B 1011 F 1111 Converting Binary to Hex  example: convert binary 1100001000110100  Solution: C234 C 2 1100 0010 3 4 0011 0100  Hex Bin Hex Bin Hex Bin Hex Bin 0 0000 4 0100 8 1000 C 1100 1 0001 5 0101 9 1001 D 1101 2 0010 6 0110 A 1010 E 1110 3 0011 7 0111 B 1011 F 1111 Converting Binary to Hex  example: convert binary 11011101100010  Solution: 3762 3 7 11 0111 0011 add leading zeroes 6 2 0110 0010  Hex – Uses    recall that each byte in memory has an address (like a mailbox number) these numbers are typically listed using hexidecimal e.g. from a Microsoft tutorial on address space  Hex – Uses    another common use of hex numbers are to represent colours recall our discussion about colour models, in particular, the RGB (Red-Green-Blue) model a copy of the relevant slide from the Terminology III slides has been included here, for convenience From the term3.ppt slides (Week 2).  Colour Model   the colours defined by each series of bits depends on the colour model example: RGB (red-green-blue)    each colour is made up of a combination of red, green, and blue the intensity of each channel determines the colour that we see examples:       no red, no green, no blue = black full red, no green, no blue = red full red, full green, no blue = yellow full red, no green, full blue = magenta full red, full green, full blue = white half red, no green, no blue = darker red  Colour Model  in a 24-bit scheme, the intensity of each colour is governed by a value between 0 and 255  0 = no colour 255 = full colour 128 = half colour  examples:          red = 0, green = 0, blue = 0  black red = 255, green = 0, blue = 0  red red = 255, green = 255, blue = 0  yellow red =255, green = 0, blue = 255  magenta red = 255, green = 255, blue = 255  white red = 128, green = 0, blue = 0  dark red red = 255, green = 128, blue = 0  orange  Colour Model – why 0-255? recall that each colour is represented using 24 bits  each channel is given 8 bits  as it turns out     the smallest 8-bit number: 00000000 = 0 the largest 8-bit number: 11111111 = 255 e.g. consider our example of orange:     red = 255, green = 128, blue = 0 converting to binary: red = 11111111, green = 10000000, blue = 00000000 hence, orange in 24-bit binary = 111111111000000000000000  Colour Model    what is desired is to specify a colour using a single value, rather than 3 specifying the binary is too long, and error prone what about decimal?    the previous 24-bit binary number can be converted to decimal: 111111111000000000000000 = 16744448 would you remember that this number means orange?  Hex to the Rescue   as we've shown, each digit in hexadecimal represents four bits in binary hence, we can represent our colours using 6 hex digits     first two digits: red channel next two digits: green channel last two digits: blue channel each channel is a hex number between 00 and FF  FF in hex = 255 in decimal  Hex Bin Hex Bin Hex Bin Hex Bin 0 0000 4 0100 8 1000 C 1100 1 0001 5 0101 9 1001 D 1101 2 0010 6 0110 A 1010 E 1110 3 0011 7 0111 B 1011 F 1111 Hex Colours  represent our number for orange in hexadecimal binary: 111111111000000000000000  with spaces: 1111 1111 1000 0000 0000 0000  as hex: FF8000   where are hex colours used? imaging applications  webpages   From the colour selector in GIMP: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Nested Elements</title> </head> <body style="background-color: yellow"> <h1 style="background-color: orange"> Heading </h1> <p>This is a paragraph. </p> </body> </html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Nested Elements</title> </head> <body style="background-color: #FF0000"> <h1 style="background-color: #FF8000"> Heading </h1> <p>This is a paragraph. </p> </body> </html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Nested Elements</title> </head> <body style="background-color: #80FF00"> <h1 style="background-color: #880088"> Heading </h1> <p>This is a paragraph. </p> </body> </html>  Base Notation    consider the number 101 this could be a hex number, decimal number, octal number or binary number, each with different values to differentiate:    some people will write a subscript to indicate the base e.g. 1012 indicates binary, while 10110 indicates decimal in computer science:   octal numbers are often indicated by a leading 0 hex numbers are often indicated by a leading 0x  Number Sizes  consider a common personal calculator non-scientific  no exponents   what is the biggest number that we can store?  Number Sizes  Answer: depends on the number of digits 1 digit: 9  2 digits: 99  3 digits: 999  4 digits: 9999  and so on   Number Sizes  we can generalize the previous by noticing the following:       1 digit: 9 = 10-1 = 101-1 2 digits: 99 = 100-1 = 102-1 3 digits: 999 = 1000-1 = 103-1 4 digits: 9999 = 10000-1 = 104–1 ... in other words: given x digits, the largest number that we can represent is 10x - 1  Number Sizes  given a calculator again, what's the smallest number we can store? same assumptions as before  no negatives   Answer: 0 note: leading blanks are the same as zeroes   Number Sizes  in summary, given x digits, we can represent any number between 0 and 10x - 1   e.g. given 4 digits, we can represent any number between 0 and 9999 equivalently, the number of unique numbers that we can represent using x digits is 10x  e.g. given two digits, we can represent 100 different numbers: 00, 01, 02, 03, ..., 97, 98, 99  Number Sizes  the same statements can be applied to numbers in other bases given x binary digits, we can represent any number between 0 and 2x - 1  equivalently, the number of unique numbers that we can represent using x binary digits is 2x   Number Sizes – Example:  suppose I have exactly four binary digits  what is the largest number I can represent?   what is the smallest number I can represent?   24 - 1 = 15 (1111) 0 (0000) how many different numbers can I store?  24 = 16 Dec Bin Dec Bin Dec Bin Dec Bin 0 0000 4 0100 8 1000 12 1100 1 0001 5 0101 9 1001 13 1101 2 0010 6 0110 10 1010 14 1110 3 0011 7 0111 11 1011 15 1111  Number Sizes – Applications consider our 24-bit colour model  how many unique colours can we represent?  Answer:  the number of unique numbers that we can represent using x binary digits is 2x  hence, the number of unique colours = 224 = 16777216   Number Sizes – Applications     public-key cryptography uses secret keys to encrypt and decrypt information as it passes between two parties briefly stated, in order to read your incoming information, an eavesdropper would have to obtain your key somehow suppose your key was a 256-bit number (common) how many possible keys are there?    the number of unique numbers that we can represent using x binary digits is 2x hence, the number of possible keys is: 2256 =115792089237316195423570985008687907853269984665640564039 457584007913129639936 ( roughly 1.15 x 1077) for reference, one estimate on the number of atoms in the observable universe = 4 x 1079
 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                            