Difference between revisions of "Signed"
Chris Tyler (talk | contribs) |
Chris Tyler (talk | contribs) |
||
Line 5: | Line 5: | ||
== Two's Compliment == | == Two's Compliment == | ||
− | + | In two's compliment representation, positive integer values are represented by the binary representation of the integer, and negative integer values are represented by the '''two's compliment''' of the absolute integer value -- effectively, (2<sup>'''wordsize'''</sup>-abs('''n''')), where '''width''' is the word size, and '''n''' is the integer being represented. | |
− | |||
Example: A single unsigned [[Word#Byte|byte]] (8 bits) stores an integer value in the range of 0 to (2^8 - 1 =) 255. If the byte is treated as a signed value, then values from 0-127 (0x00-0x7F) are treated as the positive integers 0-127, and the values 128-255 (0x80-0xFF) are treated as negative integers -128 to -1. | Example: A single unsigned [[Word#Byte|byte]] (8 bits) stores an integer value in the range of 0 to (2^8 - 1 =) 255. If the byte is treated as a signed value, then values from 0-127 (0x00-0x7F) are treated as the positive integers 0-127, and the values 128-255 (0x80-0xFF) are treated as negative integers -128 to -1. | ||
+ | |||
+ | Notice that in two's compliment representation, the highest-order bit is the sign bit: 0 == positive, 1 == negative. | ||
Signed address offsets are often used for relative [[Addressing Mode|addressing modes]]. | Signed address offsets are often used for relative [[Addressing Mode|addressing modes]]. |
Revision as of 14:49, 8 September 2014
A signed value is a binary value with a positive/negative sign.
Two's Compliment
In two's compliment representation, positive integer values are represented by the binary representation of the integer, and negative integer values are represented by the two's compliment of the absolute integer value -- effectively, (2wordsize-abs(n)), where width is the word size, and n is the integer being represented.
Example: A single unsigned byte (8 bits) stores an integer value in the range of 0 to (2^8 - 1 =) 255. If the byte is treated as a signed value, then values from 0-127 (0x00-0x7F) are treated as the positive integers 0-127, and the values 128-255 (0x80-0xFF) are treated as negative integers -128 to -1.
Notice that in two's compliment representation, the highest-order bit is the sign bit: 0 == positive, 1 == negative.
Signed address offsets are often used for relative addressing modes.
BCD
In BCD, the high-order nibble is used to represent the sign (0 == positive, non-0 == negative).