Verschil tussen ondertekende en niet-ondertekende

Getekend tegen Niet ondertekend

Ons getalsysteem strekt zich uit van negatieve oneindigheid tot positieve oneindigheid met nul in het midden. Bij het programmeren zijn er echter in principe twee typen getallen; de ondertekende en niet-ondertekende. Het belangrijkste verschil tussen een ondertekend en een niet-ondertekend nummer is, goed, de mogelijkheid om negatieve getallen te gebruiken. Ongetekende getallen kunnen alleen waarden van nul of groter hebben. Getekende getallen daarentegen zijn meer natuurlijk met een bereik dat negatieve tot positieve getallen omvat.

Het maken van getekende en niet-ondertekende nummers werd ingegeven door de noodzaak om numerieke waarden te vertegenwoordigen met zeer beperkte middelen. Als u bijvoorbeeld 8 bits gebruikt, heeft u slechts een totaal van 256 combinaties. Met een niet-ondertekend nummer, dat betekent elke waarde tussen 0 en 255. Als u daarentegen een ondertekend nummer heeft, betekent dit dat u al een beetje verliest voor het weergeven van het teken. Met 7 bits heb je maximaal 128 combinaties, dus je bereik met een 8-bits ondertekend nummer is van -128 tot 127. Dus als je beperkte middelen hebt, zoals in de begintijd van de computer, was het gebruik van niet-ondertekende nummers de juiste keuze.

Wanneer u ondertekende en niet-ondertekende nummers gebruikt bij het programmeren, is het veiliger om alleen het een of het ander te gebruiken omdat gelijktijdig gebruik van beide kan leiden tot problemen. De eerste is wanneer u een niet-ondertekend vergelijkt met een ondertekend nummer. Dit resulteert meestal in waarschuwingen, maar de compiler zou het toch kunnen compileren. Het tweede en serieuzere probleem is wanneer u de inhoud van een niet-ondertekend nummer toewijst aan een ondertekend nummer. Als de waarde van het niet-getekende nummer groter is dan de maximumwaarde van het getekende nummer, zou dit resulteren in een fout.

Naarmate de technologie zich ontwikkelde, zijn er meer middelen beschikbaar en wordt het gebruik van niet-ondertekende nummers steeds minder noodzakelijk. Om dit te illustreren, onthoud dat een 32-bits lang nummer een maximale waarde van 2 miljoen of 4 miljoen kan hebben als het niet ondertekend is. Wanneer u 64 bits invoert, is het verschil tussen 90 en 180 kwintillion; waarden die in gemeenschappelijke programma's zelden worden gebruikt.

Samenvatting:

1.Gebaseerd nummer bevat alleen nul- en positieve cijfers, terwijl getekende cijfers negatieve getallen bevatten.
2.Signed numbers hebben de helft van de maximale waarde van unsigned numbers.
3. Het mengen van ondertekende en niet-ondertekende nummers kan problemen opleveren.
4. Het gebruik van ondertekende of niet-ondertekende nummers heeft weinig invloed in moderne toepassingen.