20
bewerkingen
k (→Aftrekken) |
|||
Een belangrijk aspect van signed variabelen is dat ze een lager maximumwaarde hebben dan hun unsigned variant. We nemen als voorbeeld weer even een 16-bit integer. Als deze unsigned is dan liggen alle waarden tussen de 0 en de 65.535. Als deze echter signed is dan worden alle mogelijke waarden verdeeld over positieve en negatieve getallen, waarbij de nul als positief wordt gezien. Doordat het laatste bit wordt gebruikt als signbit wordt het bereik van de integer nu - 2<sup>15</sup> tot 2<sup>15</sup> -1, oftewel -32.786 to 32.785.
====Two's Complement====
In de computer wordt voor het weergeven van negatieve waarden meestal gebruik gemaakt van een systeem genaamd two's complement. Dit veranderd niks aan de maximale en minimale waarden van bijvoorbeeld een integer, alleen aan de weergave hiervan.
Bij two's complement geeft het meest linker bit nog steeds aan of een waarde negatief of positief is. Om het rekenen voor de computer echter makkelijker te maken worden er twee verandering doorgevoerd in de weergave. Om bijvoorbeeld -55 weer te geven beginnen we met 55, we gebruiken weer een 8 bits kleine integer.
0011 0111 = 55
Om dit getal negatief te maken volgens de two's complement methode vervangen we alle
nullen door enen en vice versa. En tellen hier daarna 1 bij op wat resulteerd in het volgende:
1100 1001 = -55
Voor deze methode is gekozen omdat dit het optellen en aftrekken met negatieve waarden gemakkelijker maakt (vooral voor de computer). Hierover meer in de paragraaf over binair rekenen.
----
|
bewerkingen