computer science 101 binary systems. humans decimal numbers (base 10) decimal numbers (base 10)...

22
Computer Science 101 Binary Systems

Upload: rolf-harrington

Post on 18-Dec-2015

221 views

Category:

Documents


3 download

TRANSCRIPT

Computer Science 101

Binary Systems

Humans

Decimal Numbers (base 10)

Sign-Magnitude (-324)

Decimal Fractions (23.27)

Letters for text

Computers

Binary Numbers (base 2)

Two’s complement and sign-magnitude

Binary fractions and floating point

ASCII codes for characters (A65)

Why binary? Information is stored in computer via voltage

levels.

Using decimal would require 10 distinct and reliable levels for each digit.

This is not feasible with reasonable reliability and financial constraints.

Everything in computer is stored using binary: numbers, text, programs, pictures, sounds, videos, ...

How can that be? Everything in computer is stored using

binary: numbers, text, programs, pictures, sounds, videos, ...

Everything in computer is stored using binary: numbers, text, programs, pictures, sounds, videos, ...

Everything in computer is stored using binary: numbers, text, programs, pictures, sounds, videos, ...

Everything in computer is stored using binary: numbers, text, programs, pictures, sounds, videos, ...

Transistor A transistor is an electronic switch

Basic unit of modern computer storage

Two steady states based on voltage levels

Say, 500 million transistors on a chip 1 cm2

Change states in billionth of sec

Solid state

Morse Code Tree

Decimal: Non-negatives Base 10

Uses decimal digits: 0,1,2,3,4,5,6,7,8,9

Positional System - position gives power of

the base

Example:3845 = 3x103 + 8x102 + 4x101 +

5x100

Positions: …543210

Binary: Non-negatives

Base 2

Uses binary digits (bits): 0,1

Positional system

Example:1101 = 1x23 + 1x22 + 0x21 +

1x20

Conversions

External Internal(Human) (Computer) 25 11001 A 01000001

Humans want to see and enter numbers in decimal.

Computers must store and compute with bits.

Binary to Decimal Conversion

Algorithm:• Expand binary number using positional

scheme.• Perform computation using decimal

arithmetic. Example:

110012 1x24 + 1x23 + 0x22 + 0x21 + 1x20

= 24 + 23 + 20

= 16 + 8 + 1 = 2510

Decimal to Binary - Algorithm 1

Algorithm:

While N 0 doSet N to N/2 (whole part)Record the remainder (1 or

0)end-of-loopSet A to remainders in reverse

order

Decimal to binary - Example

Example: Convert 32410 to binary N Rem N Rem324162 0 5 0 81 0 2 1 40 1 1 0 20 0 0 1 10 0

32410 = 1010001002

Decimal to Binary - Algorithm 2

Algorithm:

Set A to 0 (all bits 0)While N 0 do

Find largest P with 2P NSet bit in position P of A to

1Set N to N - 2P

end-of-loop

Decimal to binary - Example

Example: Convert 32410 to binary N Power P A 324 256 8 100000000 68 64 6 101000000 4 4 2 101000100

0

32410 = 1010001002

Binary Addition

One bit numbers:+ 0 1

0 | 0 1 1 | 1 10

Example 1111 1

110101 (53) + 101101 (45) 1100010 (98)

Octal Numbers

Base 8 Digits 0,1,2,3,4,5,6,7

Number does not have so many digits as binary

Easy to convert to and from binary

Often used by people who need to see the internal representation of data, programs, etc.

Octal Conversions

Octal to Binary• Simply convert each octal digit to a

three bit binary number.• Example:

5368 = 101 011 1102

Binary to Octal• Starting at right, group into 3 bit

sections• Convert each group to an octal digit• Example

110111111010102 = 011 011 111 101 010 = 337528

Hexadecimal Base 16 Digits 0,…,9,A,B,C,D,E,F

Hexadecimal Binary• Just like Octal, only use 4 bits per digit.

Example:98C316 = 1001 1000 1100 00112

Example110100111010112 = 0011 0100 1110 1011

= 34EB

Python example