Difference between revisions of "Signed"

From CDOT Wiki
Jump to: navigation, search
Line 5: Line 5:
 
== Two's Compliment ==
 
== Two's Compliment ==
  
stored in two's compliment representation, where the most significant bit is used as a negative sign.
+
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.
are Signed used values
 
  
 
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 15: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).