![Page 1: Chapter 4 Integer Data Representation. Unsigned Integers](https://reader035.vdocument.in/reader035/viewer/2022081420/5697bff11a28abf838cbb78a/html5/thumbnails/1.jpg)
Chapter 4
Integer Data Representation
![Page 2: Chapter 4 Integer Data Representation. Unsigned Integers](https://reader035.vdocument.in/reader035/viewer/2022081420/5697bff11a28abf838cbb78a/html5/thumbnails/2.jpg)
Unsigned Integers
![Page 3: Chapter 4 Integer Data Representation. Unsigned Integers](https://reader035.vdocument.in/reader035/viewer/2022081420/5697bff11a28abf838cbb78a/html5/thumbnails/3.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081420/5697bff11a28abf838cbb78a/html5/thumbnails/4.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081420/5697bff11a28abf838cbb78a/html5/thumbnails/5.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081420/5697bff11a28abf838cbb78a/html5/thumbnails/6.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081420/5697bff11a28abf838cbb78a/html5/thumbnails/7.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081420/5697bff11a28abf838cbb78a/html5/thumbnails/8.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081420/5697bff11a28abf838cbb78a/html5/thumbnails/9.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081420/5697bff11a28abf838cbb78a/html5/thumbnails/10.jpg)
1’s Complement8-bit representation
![Page 11: Chapter 4 Integer Data Representation. Unsigned Integers](https://reader035.vdocument.in/reader035/viewer/2022081420/5697bff11a28abf838cbb78a/html5/thumbnails/11.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081420/5697bff11a28abf838cbb78a/html5/thumbnails/12.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081420/5697bff11a28abf838cbb78a/html5/thumbnails/13.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081420/5697bff11a28abf838cbb78a/html5/thumbnails/14.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081420/5697bff11a28abf838cbb78a/html5/thumbnails/15.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081420/5697bff11a28abf838cbb78a/html5/thumbnails/16.jpg)
2’s ComplementRepresentation
![Page 17: Chapter 4 Integer Data Representation. Unsigned Integers](https://reader035.vdocument.in/reader035/viewer/2022081420/5697bff11a28abf838cbb78a/html5/thumbnails/17.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081420/5697bff11a28abf838cbb78a/html5/thumbnails/18.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022081420/5697bff11a28abf838cbb78a/html5/thumbnails/19.jpg)
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.