Indholdsfortegnelse:
Video: The kg is dead, long live the kg 2025
Et af de frustrerende aspekter ved C-programmeringssproget er C Numeric Data Type Puzzle. I modsætning til i det virkelige liv, hvor du bare kan trække et tal ud af ethrene og være glædelig tilfreds med det, skal du i C trække tal fra bestemte dele af ethrene baseret på hvilken type nummer det er. Dette får frustrationsfaktoren til at stige, med det logiske spørgsmål, "Hvad er en nummertype? ”
Okay. Det er ikke en "taletype. "Det er en numerisk datatype, hvilket er, hvordan du siger" nummertype ", hvis du arbejder på Pentagon. Du skal fortælle C-kompilatoren hvilken type nummer du bruger, fordi den tænker på tal forskelligt fra den måde mennesker gør. For eksempel skal du kende følgende ting om tallet:
- Vil det være et helt tal - uden en brøkdel eller en decimaldel?
- Hvor stort vil tallet være (som i værdi stort, ikke stort på siden-stort)?
- Hvis nummeret har en brøkdel, hvor præcist skal nummeret være? (Ligesom tusindedele, milliontedele eller gazillionths decimal). Forskere skal vide sådan præcision, når de sender raketter til det ydre rum for at gå, hvor ingen er gået før.)
Ja, dette er alt fremmed for dig. Hvad de fleste programmører ønsker at gøre er at sige, "Jeg har brug for en talvariabel - giv mig bare en hurtig - før denne værdi glider ud på bagsiden af computeren og bliver en regeringsstatistik! "Men du skal tænke lidt mere, før du gør det.
C bruger en række taletyper - forskellige numeriske datatyper, så at sige. Tabel 1 viser dem alle sammen med andre statistiske oplysninger. Denne tabel er noget, du vil henvise til nu og igen, fordi kun den virkelig vanvittige ville huske alt.
Tabel 1: C Numeriske datatyper
Nøgleord |
Variabel Type |
Område |
Opbevaring Kræves |
Karakter |
Tegn (eller streng) |
-128 til 127 |
1 byte |
int |
heltal |
-32768 til 32, 767 |
2 byte |
kort ( eller kort int) |
kort heltal |
-32768 til 32, 767 |
2 byte |
langt |
langt heltal |
-2, 147, 483, 648 til 2, 147, 483, 647 |
4 byte |
usigneret char |
usigneret tegn |
0 til 255 |
1 byte |
usigneret int |
usigneret heltal |
0 til 65, 535 |
2 byte |
usigneret kort |
usigneret kort heltal |
0 til 65, 535 |
2 byte |
usigneret langt |
usigneret langt heltal |
0 til 4, 294, 967, 295 |
4 byte |
float |
enkelt præcisions flydepunkt nøjagtige til 7 cifre) |
+ eller -3. 4 x 10 38 til + eller -3. 4 x10 -38 |
4 byte |
dobbelt |
dobbelt præcision flydepunkt (præcis til 15 cifre) |
+ eller -1.7 x 10 -308 til + eller -1. 7 x10 308 |
8 byte |
- nøgleordet er det C-sprog søgeord, der bruges til at erklære variabeltypen.
- Typen variabel fortæller hvilken type variabel søgeordet definerer. For eksempel definerer char en tegn (eller streng) variabel; int betyder heltal; og så videre. Der er mange variable typer, som hver afhænger af typen af nummer eller værdi, der beskrives.
- I -området fortæller du, hvor stort et tal passer til variabeltypen. F.eks. Spænder heltal fra -32, 768 op til 0 og op igen til 32, 767. Andre typer variabler håndterer større værdier.
- Kolonnen Storage Required fortæller dig, hvor mange bytes lagerplads hver variabel type kræver. Dette er avancerede ting, ikke rigtig nødvendigt at vide. Nogle computerforskere kan se på de byte der kræves og forkynde, "Godhed! Et helt tal på en pc rummer 16 bits lagerplads. Det skal forklare 32K-serien. Ja. Hmmm. Pass nachos. "
Hvorfor bruge heltal?
Selvfølgelig, hvis du har et dobbelt præcision flydende punktnummer, der kan håndtere i det væsentlige tal op til 1 gazillion, hvorfor forstyrre det dårlige lille heltal? Heck, gør alt et dobbelt-whammy flydende punkt og gør det med det! Lyder godt. Er dårligt.
Heltall er virkelig de mest almindelige og brugbare typer numeriske variabler. Ofte behøver du kun små, hele talværdier, når du programmerer. Flydende punktnumre er okay, men de kræver mere overhead fra computeren og tager længere tid at arbejde med. Til sammenligning er heltal langt hurtigere.
Du skal kun beskæftige dig med kun to typer heltal: det normale heltal - int - og det lange heltal - lang .
int er en heltalværdi, der spænder fra -32, 768 til 32, 767. Det er ideelt set til brug for små tal uden en delvist del. I nogle versioner af C kan du se denne værdi omtalt som en kort eller kort int . I alle DOS C-kompilatorer hedder det bare int .
Lang er en heltalværdi, der spænder fra -2, 147, 483, 648 til 2, 147, 483, 647 - et stort interval, men ikke stor nok til at omfatte nationalgælden eller Madonna's ego. Denne type numeriske variabel betegnes som en lang eller lang int i nogle versioner af C. Med DOS C-kompilatorer kan du frit hakke om og kalde det bare lang . I fortsættelse med menneskehedens besættelse med størrelse ser det ud til at være indlysende - nej, grådig - altid vil bruge
lang over int . Jo større er bedre. Selv om det kan være sandt, og psykologer kan diskutere, hvorfor de fleste føler den måde, er sandheden, at jo mindre den variable type du kan komme væk med, jo hurtigere går programmet. int variablerne er små og ryddelige, det er let for computeren at regne på sine to tommelfingre. lange variabler kræver lidt mere tid til at beregne, og det spilder computerens hukommelse og processorkraft til at bruge dem, når du har det bedre med int s.(Du kan se, hvorfor dette er sådan som du fortsætter med at programmere i C.) Du bruger
- int og lang nøgleord til at erklære integervariabler. int er til mindre værdier; lang er til større værdier. Pladsholderen
- % i bruges i funktionen printf til at vise int variabler. (Du kan også bruge % d pladsholder.) int = kort = kort int
- Integervariabler (
- int ) er kortere, hurtigere og lettere for computeren at håndtere. Hvis Soup for One var en variabel, ville det være en int . Brug int s, når du har brug for en lille, hel numerisk værdi. Negative tal - hvorfor genere? Nogle gange har du brug for dem, men det meste du ikke gør.
- Variabel typen
- char kan også bruges som en type heltal, selv om den har et ekstremt lille interval. Disse variabler bruges hovedsagelig til at gemme enkelt tegn (eller strenge).