23
Computing Theory – F453 Number Systems

Computing Theory – F453 Number Systems. Data in a computer needs to be represented in a format the computer understands. This does not necessarily mean

Embed Size (px)

Citation preview

Computing Theory – F453

Number Systems

Data in a computer needs to be represented in a format the computer understands.

This does not necessarily mean that this format is easy for us to understand.

Not easy, but not impossible!

A computer only understand the concept of ON and OFF.

Why?

How do we translate this into something WE understand?

We use a numeric representation (1s and 0s)

Data Representation

If a computer can only understand ON and OFF, which is represented by 1 and 0, then which is which?

1 = ON

0 = OFF

This is known as the Binary system.

Because there are only 2 digits involved, it is known as Base 2.

But what does it MEAN??!

Data Representation

We use the Denary Number System.

This is in Base 10, because there are 10 single digits in our number system.

Why? We are surrounded by things that are divisible by ten.

Counting in tens is not a new phenomenon…

Even the Egyptians did it!

Denary Numbers

Yes!

• The Mayans used the Vigesimal system (Base 20)

• Nigerians use the Duodecimal system (Base 12)

• The Babylonians used Base 60!!

So…. ‘Base’ means the number of digits available in the system.

Denary has 10 individual digits:

0 1 2 3 4 5 6 7 8 9

to make the next number we have to combine two digits: 10

Are there other notations?

BinaryBinary can be easily calculated from denary by using the following steps:

Let’s try the number 42.

128 64 32 16 8 4 2 1

Is 42 > 128?Is 42 > 64?Is 42 > 32?32-42 = 10

1

Is 10 > 16?Is 10 > 8?

110-8 = 2Is 2 > 4?Is 2 > 2?

1

2-2 = 0

0 0 0 0 0

Past paper questions are one of the best ways to help you remember the answers when it matters….

Exam Practice!

Markscheme Answer:

699

The Octal system uses Base 8 (denary is Base 10)

Which means that Octal numbers are arranged ascending in powers of 8

So how do I get from Denary to Octal??!

USE BINARY!

00101010 is our binary number

000 101 010 is split into three (from the right, adding a leading 0)

0 5 2 is the Octal

0x82+5x81+2x80 = 0 + 40 + 2 = 42

The 2, 1 & 0 powers relate to the base octal figures in the table above

Octal

Octal 7 6 5 4 3 2 1 0

Binary 111 110 101 100 011 010 001 000

From the example shown:

Octal numbers are creating by taking the sets of three bits from the right of a binary number and creating a leading zero

This is then converted into it’s Octal format

This can be converted from Octal to Denary by multiplying each digit by 8 to the power of the Octal unit and adding the total value together.

Relating Octal to Binary

Hexadecimal is very similar to Octal in that it has a differing base equivalent to denary, you just need the table!

Hex, is counted in Base 16, which means it has 16 possible digits before you get into double figures.

Where in Octal, you needed 3 binary bits to create all possible 8 digits, in Hex we need 4 binary bits.

This is half a binary byte – also known as a nibble

HexadecimalHexidecimal

Binary

0 0000

1 0001

2 0010

3 0011

4 0100

5 0101

6 0110

7 0111

8 1000

9 1001

A 1010

B 1011

C 1100

D 1101

E 1110

F 1111

Now trying to convert this into Hexadecimal….

Try This:

128 64 32 16 8 4 2 1

1

252 – 128 = 124

124 – 64 = 60

60 – 32 = 28

28 – 16 = 12

12 – 8 = 4

4 – 4 = 0

1 1 1 1 1 0 0

Convert 252 in denary into Binary:

First split the byte into two nibbles

1248

Now, convert each of the nibbles into their Hexadecimal equivalent

1111 = F

1100 = C

So, 252 in denary, must be FC in Hexadecimal!

We have already seen this in action through converting Denary into Octal and Hexadecimal.

Binary Coded Decimal (BCD) is the binary equivalent of the decimal digits we use.

Think back to your first years in school where you were taught to count in units, tens, and hundreds. This was teaching you the basis of the denary system.

BCD takes each of these denary digits and changes them

Into their binary equivalent….

Binary Coded Decimal

Use the table below to write out the denary number 3142 in binary coded decimal.

BCD can be used to represent large denary numbers.

Specifically those larger then 255. Why?

Binary Coded Decimal

Decimal Binary

0 0000

1 0001

2 0010

3 0011

4 0100

5 0101

6 0110

7 0111

8 1000

9 1001

0011 0001 0100 0010

3 1 4 2

Numbers can be represented in a format known as Two’s Complement.

Think of a car milometer – It starts at 000000.

Move forward, and it becomes 000001

But what if it moves back? There is no -1?!

Instead the clock goes to 999999 which represents -1 mile.

So, in Two’s complement, we look at the leading number which represents the sign : 1 being negative and 0 being positive.

But Some Numbers Are Negative!

A few examples:

11111101 = -3 why? How?

Two’s complement

- 128

64 32 16 8 4 2 1

1 1 1 1 1 1 0 1

If this is a 1, we change 128 to -128

-128

+64

+32

+16

+8

+4

+1 .

-3 .

= -2

More Examples:

- 128

64 32 16 8 4 2 1

1 1 1 1 1 1 1 0

+ 128

64 32 16 8 4 2 1

0 1 0 0 1 0 1 0

= 74

- 128

64 32 16 8 4 2 1

1 0 1 0 1 1 1 0

= 82

1. Find the binary value of the equivalent decimal number first

2. Change all the 0’s to 1’s and vice versa

3. Add 1 to the result.

OR

1. Starting from the right, leave all the digits alone up to and including the first ‘1’

2. Now, change all the other digits from 0 to 1 or 1 to 0

Converting Negative Denary into Binary….

Examples!

+ 128

64 32 16 8 4 2 1

0 1 0 0 1 0 1 0

= 74

- 128

64 32 16 8 4 2 1

1 0 1 1 0 1 1 0

1. Starting from the right, leave all the digits alone up to and including the first ‘1’

= -74

2. Now, change all the other digits from 0 to 1 or 1 to 0

-128+32+16+4+2= - 74!

Ok. So how does a computer recognise the alphabet?

If a computer can recognise numbers through binary, then we can assign a numeric value to a letter which will allow the computer to recognise it!

A character set is a table of Alphabetical (alpha) characters showing their numeric equivalent.

There are two major character sets:

ASCII – American Standard Code for Information Interchange

UNICODE – Universal Codes

Enough With The Maths!

ASCII is pronounced ‘as-ski’

It is based on the Latin alphabet, that is, it was originally developed to use the English Language.

Historically ASCII was developed for telegraphic printers (think REALLY old fax machines)

UNICODE was developed later on to encompass the many different alphabets used across the globe (and now includes the dreaded Wingdings…. And even Klingon!)

ASCII / UNICODE Character Sets

Representation

Denary (Base 10)

Binary (Base 2)

Octal (Base 8)

Hexadecimal (Base 16)

Binary Coded Decimal

Sign & Magnitude

Two’s Compliment

Key Terms:Character Set

ASCII

Unicode