Programmeren in C/Datatypes: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Kleuske (overleg | bijdragen)
Regel 10:
Van al deze types is ''int'' zonder enige twijfel het meest gebruikte en geeft een geheel getal weer. Dit lijkt echter een stukje simpeler dan het in werkelijkheid is, want, zoals al in de inleiding werd verteld, de taal ''C'' mag geen aannames doen over de hardware waarop het programma uiteindelijk zal werken. ''C'' Integers hebben dan ook, met uitzondering van een ''short int'', geen vaste afmetingen. Uitsluitend het minimale aantal bits is gespecificeerd.
 
Hierover bestaan, vooral bij hobby-programmeurs en novicen nogal eens wat misverstanden. Zo hoort men vaak de stelling "een long is 32 bits", wat een gevaarlijke misvatting is. Zodra de hobby-programmeur zich een 64-bits machine aanschaft, zal hij tot zijn verbijstering merken dat een ''long int'' daar vaak 64 bits heeft. Een andere misvatting is dat ''signed'' integers altijd in [[:w:two's complement|2-complement]] vorm staan. Dit is weliswaar in de regel het geval, maar het wordt geenzins door de standaard vereist. Moraal van het verhaal, neem niets zomaar aan, want dat is een recept voor rampen.
 
Een andere misvatting is dat ''signed'' integers altijd in [[:w:two's complement|2-complement]] vorm staan. Dit is weliswaar in de regel het geval, maar het wordt geenzins door de standaard vereist. Moraal van het verhaal, neem niets zomaar aan, want dat is een recept voor rampen.
 
{| class=prettytable
Regel 34 ⟶ 32:
|}
 
AlAlle deze''integer-types'' typenzijn standaard vorozien van een teken-bit. Dat wil zeggen dat ''signed int'' hetzelfde is als ''int'', komenmaar ook in een "versie zonder teken" vooris vaak gewenst. De ''unsigned'' versies hebben netzoveelnet zoveel bits als de signed versies, maar negatieve getallen kunnen niet worden weergegeven, maar het bereik op de positieve as is tweemaal zo groot.
 
{| class=prettytable
Regel 53 ⟶ 51:
| ''unsigned long int'' || ''unsigned long'' || '''minimaal''' 32 || 32 || 32 || 64
|-
| ''unsigned long long int'' (sinds ''C99'') || ''unsigned long long'' || '''minimaal''' 64 || meestal afwezig || 64 || 128
|}
 
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.