This article needs additional citations for verification. Please help improve this articlebyadding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Sign bit" – news · newspapers · books · scholar · JSTOR (December 2009) (Learn how and when to remove this message) |
Incomputer science, the sign bit is a bit in a signed number representation that indicates the sign of a number. Although only signed numeric data types have a sign bit, it is invariably located in the most significant bit position,[1] so the term may be used interchangeably with "most significant bit" in some contexts.
Almost always, if the sign bit is 0, the number is non-negative (positive or zero).[1] If the sign bit is 1 then the number is negative. Formats other than two's complement integers allow a signed zero: distinct "positive zero" and "negative zero" representations, the latter of which does not correspond to the mathematical concept of a negative number.
When using a complement representation, to convert a signed number to a wider format the additional bits must be filled with copies of the sign bit in order to preserve its numerical value,[2]: 61–62 a process called sign extensionorsign propagation.[3]
Bits | Value using Two's Complement |
---|---|
0000 | 0 |
0001 | 1 |
0111 | 7 |
1000 | -8 |
1001 | -7 |
1111 | -1 |
Two's Complement is by far the most common format for signed integers. In Two's Complement, the sign bit has the weight -2w-1 where w is equal to the bits position in the number.[1] With an 8-bit integer, the sign bit would have the value of -28-1, or -128. Due to this value being larger than all the other bits combined, having this bit set would ultimately make the number negative, thus changing the sign.
Bits | Value using One's Complement |
---|---|
0000 | 0 |
0001 | 1 |
0111 | 7 |
1000 | -7 |
1001 | -6 |
1111 | -0 |
Ones' complement is similar to Two's Complement, but the sign bit has the weight -(2w-1 +1) where w is equal to the bits position in the number.[citation needed] With an 8-bit integer, the sign bit would have a value of -(28-1 +1), or -127. This allows for two types of zero: positive and negative, which is not possible with Two's complement.
Bits | Value using Sign Magnitude |
---|---|
0000 | 0 |
0001 | 1 |
0111 | 7 |
1000 | -0 |
1001 | -1 |
1111 | -7 |
Using Sign Magnitude, the sign bit directly determines the sign. If the sign bit is 0, the number is positive; if the sign bit is 1, the number is negative.[2]: 52–54 Similarly with Ones' Complement, this allows for both a positive and a negative zero.
Floating-point numbers, such as IEEE format, IBM format, VAX format, and even the format used by the Zuse Z1 and Z3 use a Sign and magnitude representation.[citation needed]
This computer science article is a stub. You can help Wikipedia by expanding it. |