De manier waarop computers omgaan negatieve getallen is anders dan de manier waarop mensen dat doen . Er is geen minteken binaire en dus een systeem op twee-complement wordt gebruikt . In dit systeem wordt de ruimte gebruikt om een aantal slaan verdeeld in twee halve voor de positieve getallen en de helft van de negatieve . De grootste 32 - bits geheel getal is 4294967295 . Bij de behandeling van positieve en negatieve getallen wel met breuken , de grootste 32 - bit positief getal is 2147483647 en het grootste negatief getal is -2.147.483.648 . Aangezien deze zijn de grenzen van de 32 - bit getallen is er een vreemd fenomeen waar het toevoegen van 1 tot 2.147.483.647 resultaten in -2147483648 . Een eenvoudige Visual C + + -project toont dit aan . Wat je nodig hebt Microsoft Visual C + + 2010 Express Toon Meer Aanwijzingen 1 Klik op het pictogram van Windows "Start " , selecteer " Alle programma's " en vervolgens " Microsoft Visual Studio 2010 Express . " Klik op " Microsoft Visual C + + 2010 Express . " Kopen van 2 Klik op het menu " File " en ga naar " Nieuw . " Klik op " Project " om het nieuwe dialoogvenster Project openen . 3 Klik op " Win32 " in de geïnstalleerde templates boomstructuur aan de linkerkant van het dialoogvenster . Klik op " Win32 Console Application . " Voer een naam voor het project ( bijvoorbeeld " negativenumbers " ) in de " Naam: " veld naar de onderkant van het dialoogvenster . Klik op " OK " om de " Application Wizard Win32 " dialoogvenster te openen . Klik op ' Voltooien '. Hoewel dit is een C + + -project , de code in de volgende stap is zuiver C. 4 Vervang de standaard code die in de editor verschijnt met de volgende code : # include " stdafx.h " int main ( int argc , char * argv [ ] ) op Twitter { unsigned int ui = 0 ; int i = 0 ; ui = ui - 1 ; /* 0 - 1 = 4294967295 * / i = i - 1 ; /* 0 -1 = -1 * / printf ( " unsigned int : % u \\ n " , ui ) ; printf ( " int : % d \\ n " , i ) ; ui = 2147483647 ; i = 2147483647 ; ui = ui + 1 ; /* 2147483647 + 1 = 2147483648 * / i = i + 1 ; /* 2147483647 + 1 = -2147483648 * /< br > printf ( " unsigned int : % u \\ n " , ui ) ; printf ( " int : % d \\ n " , i ) ; return 0 ; < br > } Press 5 " F7 " of klik op het menu " Debug " , vervolgens " Build Solution " om het programma te compileren en het resultaat laten zien in het venster Uitvoer naar de onderkant van Visual C + + : ========== Build : 1 gelukt , 0 mislukte , 0 up -to - date , 0 overgeslagen ========== Als het resultaat " 0 geslaagd " en vervolgens een aantal mislukkingen , controleer de code die u hebt ingevoerd en zorgen voor het identiek is aan de code in stap 4 . Press 6 "Ctrl + F5 "om het programma uit te voeren .
|