* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download 04_IntegerRepresentation
Survey
Document related concepts
Transcript
Integer Representation for Computers Computer Organization and Assembly Language: Module 4 Representation of Integers Unsigned Integer Representation Sign Magnitude Complement Representations Biased Representations Sign Extension Unsigned Integer Representation The representation of a non-negative integer using binary, weighted positional notation is called unsigned integer representation Given n bits, it is possible to represent the range of values from 0 to 2n - 1 For example an 8-bit representation would allow representations that range 0 to 255 Unsigned Integer Representation three bits, we can represent 8 distinct values For unsigned integers, these values are 0-7 We don’t use modulo arithmetic 0 0 0 With Results greater than 7 or less than 0 are overflow 1 1 1 1 1 0 0 0 1 0 1 7 6 2 5 1 0 1 3 4 1 0 0 0 1 1 0 1 0 Sign Magnitude An extra bit in the most significant position is designated as the sign bit which is to the left of an unsigned integer. The unsigned integer is the magnitude. A 0 in the sign bit means positive, and a 1 means negative. x Sign Magnitude xxx xxxx Sign Magnitude an n-bit sign magnitude number the range of values that it can represent is -(2n-1-1) to +(2n-1-1) Given Sign magnitude representation associates a sign bit with a magnitude that represents zero, thus it has two distinct representation of zero: 00000000 and 10000000 sign bit Sign Magnitude With three bits, we can represent 8 distinct values But since –0 = +0, we waste one of these Having 2 distinct zeroes makes designing arithmetic operations more difficult 0 0 0 1 1 1 1 1 0 0 0 1 0 1 -3 -2 2 -1 1 0 1 3 0 1 0 0 0 1 1 0 1 0 Complement Representation Positive integers have the same representation as unsigned integers Negative integers have a one in the high order bit, and represented by a bit-wise complement of their absolute value. One’s Complement The additive inverse of a number in one’s complement representation is found by inverting each bit. Inverting each bit is also called “taking the one’s complement.” One’s Complement With three bits, we can represent 8 distinct values For ones complement, these are –3 to 3 Like sign-magnitude, there are 2 zeroes 0 0 0 1 1 1 1 1 0 0 0 1 0 1 0 -1 2 -2 1 0 1 3 -3 1 0 0 0 1 1 0 1 0 Example of One’s Complement 0000 0011 (3) 1111 1100 (-3) 1110 1000 (-23) 0001 0111 (23) 0000 0000 (0) 1111 1111 (0) Note: There are two representations of zero Two’s Complement The additive inverse of a two’s complement integer can be obtained by adding 1 to its one’s complement (overflow ignored) This operation is self-reversible: the 2’s complement of the 2’s complement of N = N. An advantage of two’s complement is that there is only one representation for zero 0000 invert 1111 add 1 (1) 0000 Two’s Complement With three bits, we can represent 8 distinct values For two’s complement, these are –4 to 3 There is a unique zero; all eight representation are used for distinct numbers 0 0 0 1 1 1 1 1 0 0 0 1 0 1 -1 -2 2 -3 1 0 1 3 -4 1 0 0 0 1 1 0 1 0 6 bit 2’s complement example 010001 (17) 101110 + 1 —————— 101111 (-17) 1101000 (-24) 0010111 + 1 ——————— 0011000 (24) Two’s Complement In two’s complement, one more negative value than positive value is represented The most negative number has no additive inverse within a fixed precision. Note that computing the additive inverse is a mathematical operation. Taking the complement is an operation on the representation. Biased Representation the unsigned representation includes integers from 0 to M, then subtracting approximately M/2 from the unsigned interpretation would shift the range from -(M/2) to +(M/2) If If a sequence of bits has a value N when interpreted as an unsigned integer, it has a value n - bias interpreted as a biased-n number. Usually, the bias is either 2n or 2n-1 for an (n+1)-bit representation Biased-4 3-bit Representation three bits, we can represent 8 distinct values For a bias of –22, or –4, the range of values is –4 to 3 There is a unique zero; all eight representation are used for distinct numbers 0 0 0 With 1 1 1 1 1 0 0 0 1 -4 3 -3 1 -1 0 -2 1 0 2 1 0 1 0 1 0 0 0 1 1 Biased-127 8-bit Example Given 0000 01102, what is it’s value in a biased-127 representation. Assume an 8-bit representation. The value of the unsigned integer: 0000 01102 = 610 Its value in biased-127 is: 6 - 127 = -121 Sign Extension For integer representation, the size are commonly 8, 16, 32 and 64. It is occasionally necessary to convert an integer representation from one size to another from 8 bits to 32 bits from 16 bits to 32 bits We must maintain the same value while changing the size of the representation Sign Extension - Unsigned Place the original integer into the least significant portion and stuff the remaining positions with 0’s. xxxxxxxx 00000000xxxxxxxx 8 bits 16 bits Sign Extension - Signed The sign bit of the smaller representation is placed into the sign bit of the larger representation The magnitude is put into the least significant portion and all remaining positions are stuffed with 0’s. sxxxxxxx s00000000xxxxxxx Sign Extension - complement positive number, a 0 is used to pad the remaining positions. 0xxxxxxx For 000000000xxxxxxx negative number, a 1 is used to pad the remaining positions. For 1xxxxxxx 111111111xxxxxxx