Inhoudsopgave:
Video: Elements and atoms | Atoms, compounds, and ions | Chemistry | Khan Academy 2024
Een van de frustrerende aspecten van de programmeertaal C is de C Numeric Data Type Puzzle. In tegenstelling tot in het echte leven, waar je gewoon een willekeurig aantal uit de ethers kunt trekken en er blij mee gelukkig kunt zijn, moet je in C getallen uit specifieke delen van de ethers trekken op basis van welk type getal het is. Hierdoor begint de frustratiefactor te stijgen, met de logische vraag: "Wat is een getaltype? “
Okay. Het is geen "nummertype". "Het is een numeriek gegevenstype, dat is hoe u het zegt," nummertype "als u werkt bij het Pentagon. Je moet de C-compiler vertellen welk type nummer je gebruikt, omdat het anders over cijfers denkt dan de mensen doen. U moet bijvoorbeeld de volgende dingen over het nummer weten:
- Zal het een geheel getal zijn - zonder een breuk of decimaal gedeelte?
- Hoe groot zal het aantal zijn (zoals in value-large, niet big-on-the-page-large)?
- Als het getal een fractioneel gedeelte heeft, hoe nauwkeurig moet het getal dan zijn? (Zoals de duizendsten, miljoensten of gazillionths decimale plaatsen.Wetenschappers moeten zo'n precisie weten wanneer ze raketten naar de ruimte zenden om te gaan waar niemand eerder is geweest.)
Ja, dit is allemaal vreemd voor jou. Wat de meeste programmeurs willen doen is zeggen: "Ik heb een nummervariabele nodig - geef me er een, snel - voordat deze waarde de achterkant van de computer verlaat en een overheidsstatistiek wordt! "Maar je moet nog een beetje meer nadenken voordat je dat doet.
C gebruikt een verscheidenheid aan nummertypen - verschillende numerieke gegevenstypen, om zo te zeggen. Tabel 1 somt ze allemaal op, samen met andere statistische informatie. Deze tabel is iets waar je af en toe naar zult verwijzen omdat alleen de echte krankzinnigen alles zouden onthouden.
Tabel 1: C Numerieke gegevenstypen
Zoekwoord |
Variabeletype |
Bereik |
Opslag vereist |
teken |
(of tekenreeks) |
-128 tot 127 |
1 byte |
int |
geheel getal |
-32768 tot 32, 767 |
2 bytes |
kort ( of kort int) |
kort geheel getal |
-32768 voor 32, 767 |
2 bytes |
lang |
lang geheel getal |
-2, 147, 483, 648 tot 2, 147, 483, 647 |
4 bytes |
niet-ondertekend teken |
niet-ondertekend teken |
0 tot 255 |
1 byte |
niet-ondertekend int |
niet-ondertekend geheel getal |
0 tot 65, 535 |
2 bytes |
niet-ondertekend kort |
niet-ondertekend kort geheel getal |
0 tot 65, 535 |
2 bytes |
niet-ondertekend lang |
niet-ondertekend lang geheel getal |
0 tot 4, 294, 967, 295 |
4 bytes |
zweven |
zwevende punt met enkele precisie nauwkeurig tot 7 cijfers) |
+ of -3. 4 x 10 38 tot + of -3. 4 x10 -38 |
4 bytes |
dubbele |
drijvende komma met dubbele precisie (nauwkeurig tot 15 cijfers) |
+ of -1.7 x 10 -308 tot + of -1. 7 x10 308 |
8 bytes |
- Het zoekwoord is het sleutelwoord C-taal dat wordt gebruikt om het variabele type te declareren.
- Het type variabele vertelt u welk type variabele het trefwoord definieert. Bijvoorbeeld, char definieert een karakter (of string) variabele; int bevat gehele getallen; enzovoort. Er zijn veel variabele typen, die elk afhankelijk zijn van het type nummer of de waarde die wordt beschreven.
- Het -bereik vertelt u hoe groot een getal in het variabelentype past. Gehele getallen variëren bijvoorbeeld van -32, 768 tot 0 en weer tot 32, 767. Andere typen variabelen hanteren grotere waarden.
- De kolom Opslag vereist geeft aan hoeveel bytes van opslag elk variabel type vereist. Dit zijn geavanceerde dingen, niet echt nodig om te weten. Sommige computerwetenschappers kunnen naar de vereiste bytes kijken en verkondigen: "Goedheid! Een geheel getal op een pc beslaat 16 bits opslag. Dat moet het 32K-bereik verklaren. Inderdaad. Hmmm. Passeer de nacho's. "
Waarom gehele getallen gebruiken?
Het is duidelijk dat als je een drijvende-kommagetal met dubbele precisie hebt dat in principe getallen tot 1 biljoen kan verwerken, waarom zou je dan moeite doen met het kleine kleine geheel getal? Maak alles een dubbel zwemmend punt en maak er een einde aan! Klinkt goed. Is slecht.
gehele getallen zijn echt de meest voorkomende en handige typen numerieke variabelen. Vaak heb je tijdens het programmeren alleen kleine, gehele getalwaarden nodig. Drijvende-kommagetallen zijn goed, maar ze vereisen meer overhead van de computer en het duurt langer om ermee te werken. Ter vergelijking, gehele getallen zijn veel sneller.
U moet zich alleen bezighouden met twee typen gehele getallen: het normale gehele getal - het int - en het lange gehele getal - het lange .
De int is een geheel getal, variërend van -32, 768 tot 32, 767. Het is ideaal te gebruiken voor kleine getallen zonder een fractioneel deel. In sommige versies van C kunt u deze waarde korter kort of kort int zien. In alle DOS C-compilers wordt dit zojuist int genoemd. (Het rijmt met gebogen, niet pint.)
lang is een geheel getal, gaande van -2, 147, 483, 648 tot 2, 147, 483, 647 - een groot bereik, maar niet groot genoeg om de nationale schuld of het ego van Madonna te omvatten. Dit type numerieke variabele wordt een lange of lange int genoemd in sommige versies van C. Met DOS C-compilers kunt u vrij mincing doen, gewoon lang . In overeenstemming met de obsessie van de mens voor grootte, lijkt het voor de hand liggend - ja, hebzuchtig - altijd de
lange over de int te willen gebruiken. Immers, groter is beter. Hoewel dat waar kan zijn, en psychologen kunnen discussiëren over waarom de meeste mensen zich zo voelen, is de waarheid dat hoe kleiner het variabele type waarmee je wegkomt, hoe sneller je programma wordt uitgevoerd. De int variabelen zijn klein en opgeruimd, gemakkelijk voor de computer om te zien op zijn twee duimen. lange variabelen vereisen iets meer tijd om te berekenen, en het verspilt het geheugen en de verwerkingskracht van de computer om ze te gebruiken als je beter af bent met int s.(U zult zien waarom dit zo is terwijl u in C blijft programmeren.) U gebruikt de
- intn en lange trefwoorden om integer-variabelen te declareren. int is voor kleinere waarden; lang is voor grotere waarden. De tijdelijke aanduiding
- % i wordt gebruikt in de functie printf om int -variabelen weer te geven. (U kunt ook de tijdelijke aanduiding % d gebruiken.) int = short = short int variabelen voor gehele getallen ( int
- ) zijn korter, sneller en eenvoudiger voor de computer omgaan met. Als
- Soep voor één een variabele was, zou dit een int zijn. Gebruik int s wanneer u een kleine, gehele numerieke waarde nodig hebt. Negatieve getallen - waarom moeite doen? Soms heb je ze nodig, maar meestal niet. Het char
- -variabele type kan ook worden gebruikt als een type geheel getal, hoewel het een extreem klein bereik heeft. Deze variabelen worden meestal gebruikt om enkele tekens (of tekenreeksen) op te slaan.