19
Chapter 4 Integer Data Representation

Chapter 4 Integer Data Representation. Unsigned Integers

Embed Size (px)

Citation preview

Page 1: Chapter 4 Integer Data Representation. Unsigned Integers

Chapter 4

Integer Data Representation

Page 2: Chapter 4 Integer Data Representation. Unsigned Integers

Unsigned Integers

Page 3: Chapter 4 Integer Data Representation. Unsigned Integers

Range of Values

1 Byte: 0-255 2 Bytes: 0-65,535 4 Bytes: 4,294,967,295 8 Bytes: 264 - 1

Page 4: Chapter 4 Integer Data Representation. Unsigned Integers

Implementation

Generally, built-in machine instructions exist for manipulating and calculating single-precision (32 bit) or double precision (64 bit) integers

If not, software procedures may exist to handle multiple storage locations for integers

Page 5: Chapter 4 Integer Data Representation. Unsigned Integers

Signed Integers

Signed-Magnitude 1’s Complement 2’s ComplementNOTE:

Only latter is typically implemented due to serious limitations of others.

Page 6: Chapter 4 Integer Data Representation. Unsigned Integers

Signed-Magnitude

Choose a single bit to represent the sign - usually most significant bit

0 => + and 1=>negative Maximum absolute value is 231-1

(assuming 32 bit representation) 2,147,483,647

Page 7: Chapter 4 Integer Data Representation. Unsigned Integers

Problems

In arithmetic operations, must test signs of both operands to determine process

Two zeroes exist: 0Thus, comparison of 0s becomes an issue

Page 8: Chapter 4 Integer Data Representation. Unsigned Integers

Complements Representation

The sign of the number is a natural result of the arithmetic operations, and therefore the sign does not have to be handled separately.

Calculations are consistent for all different signed combinations of the operands.

Page 9: Chapter 4 Integer Data Representation. Unsigned Integers

1’s Complement

Numbers whose binary representation begins with a 0 are considered positive and those that begin with a 1 are negative

To get the negative representation of a positive number, one takes the complement of the number

Page 10: Chapter 4 Integer Data Representation. Unsigned Integers

1’s Complement8-bit representation

Page 11: Chapter 4 Integer Data Representation. Unsigned Integers

Observations

Range of number values is split in the middle Even numbers begin with 0 and positive

numbers with 1 To add numbers, regardless of sign, one just

does a regular addition (wraparound) Suppose a negative and positive number are

added. End-around carry may result. Overflow can occur

Page 12: Chapter 4 Integer Data Representation. Unsigned Integers

Basis for 1’s Complement

Subtracting a value from some standard base value is known as taking the complement. In binary representation for 8-bits, say, we would subtract a positive number from 11 111 111 in order to derive its negative representation.

Example -58: 11 111 111 - 00 111 010

========11 000 101

NOTE: The negative is just the inversion of the positive number.

Page 13: Chapter 4 Integer Data Representation. Unsigned Integers

1’s Complement Addition

58 00 111 010 106 01 101 010 + 22 00 010 110 - 2 11 111 101

== ======== === ========80 01 010 000 1 01 100 111

1 end-around64 01 000 000 ======== carry

+ 65 01 000 001 104 01 101 000== ========

129 10 000 001 => overflow => result exceeded range of values

Page 14: Chapter 4 Integer Data Representation. Unsigned Integers

1s ComplementTesting for Overflow

If both operands have the same sign and the sign of the result isdifferent, then overflow has occurred.

NOTE: Some early interpreted versions of Pascal limited word size to 16 bits. When the interpreter was subsequently executed on 32-bit machines, overflow was not detected.

Page 15: Chapter 4 Integer Data Representation. Unsigned Integers

1’s Complement Problems

• Addition may require end-around carry.

• Two zeroes exist: 0Thus, comparison of 0’s becomes an issue

Page 16: Chapter 4 Integer Data Representation. Unsigned Integers

2’s ComplementRepresentation

Page 17: Chapter 4 Integer Data Representation. Unsigned Integers

Basis for 2’s Complement

The modulus in 2’s complement is a 1 followed by a string of 0’s. In binary representation for 8-bits, say, we would subtract a positive number from 100 000 000 in order to derive its negative representation.

Example -58: 100 000 000 - 00 111 010

========11 000 110

NOTE: The negative representation is just the inversion of the positive number plus 1.

Page 18: Chapter 4 Integer Data Representation. Unsigned Integers

2’s ComplementAddition

58 00 111 010 106 01 101 010 + 22 00 010 110 - 2 11 111 110

== ======== === ========80 01 010 000 104 101 101 000 ignore

carry bit64 01 000 000

+ 65 01 000 001== ========

129 10 000 001 => overflow => result exceeded range of values

Page 19: Chapter 4 Integer Data Representation. Unsigned Integers

2s ComplementTesting for Overflow

An overflow has occurred if when the result overflows into the sign bit. Thus overflow can be detected if the sign of the result is opposite that of both operands.

A carry-out bit is ignored.