Sign bit
This article needs additional citations for verification. (December 2009) |
In
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 extension or sign propagation.[3]
Sign bit weight in Two's Complement
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.
Sign bit weight in Ones' Complement
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.
Sign bit in Sign Magnitude Integers
Bits | Value using Sign Magnitude |
---|---|
0000 | 0 |
0001 | 1 |
0111 | 7 |
1000 | -0 |
1001 | -1 |
1111 | -7 |
Using
Sign bit in Floating Point Numbers
References
- ^ a b c "Intel® 64 and IA-32 Architectures Software Developer's Manual Combined Volumes: 1, 2A, 2B, 2C, 2D, 3A, 3B, 3C, 3D, and 4". Intel. Retrieved 2024-03-13.
- ^ ISBN 0-13-034074-X.
- ^ "Data Dictionary (Glossary and Algorithms)". Adroit Data Recovery Centre Pte Ltd. Archived from the original on 2017-04-19. Retrieved 2014-12-15.