Computer Science 1000
-
Upload
zephania-houston -
Category
Documents
-
view
25 -
download
0
description
Transcript of Computer Science 1000
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 – Exampleconsider the following quantity of peoplehow can we represent this number in print?
7 the word sevenVII (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 Systemalso referred to as base 10a widely used number system, and probably
the one you are used toeach 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 Systemwhy is decimal so widely used?
From: A Manual of Greek Mathematics By Thomas Little Heath
Binary Number Systemalso referred to as base 2 the system that computers use to store
numberseach number is represented as a sequence
of digits: 0 1 the quantity of people from the previous
slide is represented as: 111
Binary Number Systemwhy 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 Numbersour 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
the rules for representation are very similar in both systems
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
Decimal Numberswhat 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+ 4 x 1
= 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 11011101 = 1 x 8
+ 1 x 4+ 0 x 2+ 1 x 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 I typically write the left-most digit on the top, and the
right-most digit on the bottom
multiply each digit by a power of two bottom digit: 20 = 1 increase by one power for each vertical step
add all values together
Binary Conversion to Decimal:example: convert 11001 to decimalStep 1: Write the values vertically
11001
Binary Conversion to Decimal:example: convert 11001 to decimalStep 2: Multiply each value by a power of 2
1 x 24 = 1 x 16 = 161 x 23 = 1 x 8 = 80 x 22 = 0 x 4 = 00 x 21 = 0 x 2 = 01 x 20 = 1 x 1 = 1
Binary Conversion to Decimal:example: convert 11001 to decimalStep 3: Add numbers together
1 x 24 = 1 x 16 = 161 x 23 = 1 x 8 = 80 x 22 = 0 x 4 = 00 x 21 = 0 x 2 = 01 x 20 = 1 x 1 = 1Decimal: 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 = 640 x 25 = 0 x 16 = 00 x 24 = 0 x 16 = 01 x 23 = 1 x 8 = 80 x 22 = 0 x 4 = 01 x 21 = 1 x 2 = 21 x 20 = 1 x 1 = 1Decimal: 75
http://jeroenstaneke.girlshopes.com/binarytoascii/
Converting Decimal to Binaryconverting from decimal to binary is
straightforwardconverting to binary from decimal is a bit
more involvedhowever, it is easily accomplished if you
follow the steps
Converting Decimal to Binary – StepsTo convert number X to binary
Repeat following steps until X = 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
Write right-to-left
Example: Convert the number 19 to binary Repeat following steps until X = 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
Result:
X = 19 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
1
9
Remember: Write right-to-left
Example: Convert the number 19 to binary Repeat following steps until X = 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
Result:
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
1
4
Remember: Write right-to-left
1
X = 19 9
Example: Convert the number 19 to binary Repeat following steps until X = 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
Result:
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
1
2
Remember: Write right-to-left
10
4X = 19 9
Example: Convert the number 19 to binary Repeat following steps until X = 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
Result:
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
1
2
Remember: Write right-to-left
10
4X = 19 9 1
0
Example: Convert the number 19 to binary Repeat following steps until X = 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
Result:
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
1
2
Remember: Write right-to-left
10
4X = 19 9 1
0
0
1
Example: Convert the number 19 to binary Repeat following steps until X = 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
Result:
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
1
2
Remember: Write right-to-left
10
4X = 19 9 1
0
0
1
Since X is now zero, we are done. Hence, 19 as a binary number is 10011
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
Result:
X = 53 26 13 6 3 1 0
110101
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
Result checks out.
Decimal to Binary – An Alternative Approach the steps for converting from decimal to binary can
also be written as follows:
the two approaches are equivalent, since: 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
Repeat following steps until X = 0 divide X by 2 assign the remainder digit to result
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 Systemalso referred to as base 8octal 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+ 2 x 8+ 4 x 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 = 15366 x 82 = 6 x 64 = 3842 x 81 = 2 x 8 = 164 x 80 = 4 x 1 = 4Decimal: 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 binaryconvert binary to octal
Octal to Binary for starters, let's consider the single-digit
octal numbers, written in binarynote 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 the binary representation for the octal
number 467 is:100110111
notice anything?each group of three digits in the binary number
make up an octal digit i.e. 100110111 = 100 110 111 = 467
Octal Bin Octal Bin
0 000 4 100
1 001 5 101
2 010 6 110
3 011 7 111
Converting Octal to Binary – StepsTo 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
Converting Octal to Binaryexample: convert octal 7234 to binary
Solution:
7 2 43
Octal Bin Octal Bin
0 000 4 100
1 001 5 101
2 010 6 110
3 011 7 111
111 010 011 100
111010011100
Converting Octal to Binaryexample: convert octal 1762 to binary
Solution:
1 7 26
Octal Bin Octal Bin
0 000 4 100
1 001 5 101
2 010 6 110
3 011 7 111
001 111 110 010
001111110010 1111110010 (no leading zeroes)
Converting Octal to Binary – StepsTo 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
Converting Binary to Octalexample: convert binary 111010011100
Solution:
7 2 43
Octal Bin Octal Bin
0 000 4 100
1 001 5 101
2 010 6 110
3 011 7 111
111 010 011 100
7234
Converting Binary to Octalexample: convert binary 1111110010
Solution:
1 7 26
Octal Bin Octal Bin
0 000 4 100
1 001 5 101
2 010 6 110
3 011 7 111
1 111 110 010
1762
001add 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 – 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
Octal Bin Octal Bin
0 000 4 100
1 001 5 101
2 010 6 110
3 011 7 111
Hex Number Systemalso referred to as base 16hex numbers have special uses
memory addressescolours
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 = 16384E x 162 = 14 x 256 = 35847 x 161 = 7 x 16 = 112F x 160 = 15 x 1 = 15Decimal: 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 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
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 – StepsTo 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
Converting Hex to Binaryexample: convert hex C234 to binary
Solution:
C 2 431100 0010 0011 0100
1100001000110100
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 Binaryexample: convert hex 3762 to binary
Solution:
3 7 260011 0111 0110 0010
0011011101100010 11011101100010 (no leading zeroes)
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 – StepsTo 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
Converting Binary to Hexexample: convert binary 1100001000110100
Solution:
C 2 431100 0010 0011 0100
C234
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 Hexexample: convert binary 11011101100010
Solution:
3 7 26 11 0111 0110 0010
3762
0011add leading zeroes
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 – 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
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
From the term3.ppt slides
(Week 2).
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
bitseach channel is given 8 bitsas 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 Colours represent our number for orange in
hexadecimalbinary: 111111111000000000000000with spaces: 1111 1111 1000 0000 0000 0000as hex: FF8000
where are hex colours used? imaging applicationswebpages
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
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 Sizesconsider a common personal calculator
non-scientificno exponents
what is the biggest number that we can store?
Number SizesAnswer: depends on the number of digits
1 digit: 92 digits: 993 digits: 9994 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 Sizesgiven a calculator again, what's the smallest
number we can store?same assumptions as beforeno negatives
Answer: 0note: 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 basesgiven x binary digits, we can represent any
number between 0 and 2x - 1equivalently, 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? 24 - 1 = 15 (1111)
what is the smallest number I can represent? 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 – Applicationsconsider our 24-bit colour modelhow 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
=115792089237316195423570985008687907853269984665640564039457584007913129639936 ( roughly 1.15 x 1077)
for reference, one estimate on the number of atoms in the observable universe = 4 x 1079