Innholdsfortegnelse:
Video: WE SNEAK INTO A YOUTUBER'S HOUSE! | We Are The Davises 2024
En av de frustrerende aspektene ved C-programmeringsspråket er C Numeric Data Type Puzzle. I motsetning til det virkelige livet, hvor du bare kan trekke et hvilket som helst tall ut av eters og være glad fornøyd med det, må du i C trekke tall fra bestemte deler av etere basert på hvilken type nummer det er. Dette gjør frustrasjonsfaktoren begynner å stige, med det logiske spørsmålet, "Hva er en talltype? “
Ok. Det er ikke en "talltype. "Det er en numerisk datatype, som du sier," talltype "hvis du jobber på Pentagon. Du må fortelle C-kompilatoren hvilken type nummer du bruker, fordi den tenker på tall forskjellig fra måten menneskene gjør. For eksempel må du kjenne følgende ting om nummeret:
- Vil det være et helt tall - uten brøkdel eller desimaldel?
- Hvor stor vil tallet være (som i verdi stort, ikke stort på siden-stort)?
- Hvis tallet har en brøkdel, hvor nøyaktig må tallet være? Forskerne må vite nøyaktig når de sender raketter til verdensrommet for å gå hvor ingen har gått før.)
Ja, dette er alt fremmed for deg. Hva de fleste programmører ønsker å gjøre er å si, "Jeg trenger en tallvariabel - bare gi meg en, rask - før denne verdien slipper ut på baksiden av datamaskinen og blir en regjeringsstatistikk! "Men du må tenke litt mer før du gjør det.
C bruker en rekke taletyper - forskjellige numeriske datatyper, så å si. Tabell 1 viser dem alle sammen med annen statistisk informasjon. Dette tabellen er noe du vil referere til nå og igjen fordi bare de virkelig vanvittige ville huske alt.
Tabell 1: C Numeriske datatyper
Søkeord |
Variabel Type |
Område |
Lagringspliktig |
Karakter |
Karakter (eller streng) |
-128 til 127 |
1 byte |
int |
heltall |
-32768 til 32, 767 |
2 byte |
kort ( eller kort int) |
kort heltall |
-32768 til 32, 767 |
2 byte |
lang |
langt heltall |
-2, 147, 483, 648 til 2, 147, 483, 647 |
4 byte |
usignert char |
usignert tegn |
0 til 255 |
1 byte |
usignert int |
usignert heltall |
0 til 65, 535 |
2 byte |
usignert kort |
usignert kort heltall |
0 til 65, 535 |
2 byte |
usignert langt |
usignert langt heltall |
0 til 4, 294, 967, 295 |
4 byte |
float |
enkelt-presisjon flytpunkt nøyaktig til 7 siffer) |
+ eller -3. 4 x 10 38 til + eller -3. 4 x10 -38 |
4 byte |
dobbelt |
dobbelt-presisjon flytpunkt (nøyaktig til 15 sifre) |
+ eller -1.7 x 10 -308 til + eller -1. 7 x10 308 |
8 byte |
- Den søkeordet er C-språknavnet som brukes til å erklære variabeltypen.
- Typen variabel forteller hvilken type variabel søkeordet definerer. For eksempel definerer char en tegn (eller streng) variabel; int gjør heltall; og så videre. Det finnes mange variabeltyper, som hver avhenger av typen av tall eller verdi som beskrives.
- -området forteller deg hvor stort et tall passer inn i variabeltypen. For eksempel varierer heltallene fra -32, 768 opp til 0 og opp igjen til 32, 767. Andre typer variabler håndterer større verdier.
- Lagringsnøkkelskolonnen forteller deg hvor mange byte lagringsplass hver variabeltype krever. Dette er avanserte ting, egentlig ikke nødvendig å vite. Noen datavitenskapere kan se på byttene som kreves og forkynne, "Godhet! Et heltall på en PC opptar 16 biters lagringsplass. Det må forklare 32K-serien. Faktisk. Hmmm. Pass nachos. "
Hvorfor bruke heltall?
Selvfølgelig, hvis du har et dobbelt-presis flytende punktnummer som kan håndtere, i hovedsak tall på opptil 1 gazillion, hvorfor bry deg med det stakkars lille heltallet? Heck, gjør alt et dobbelt-whammy flytende punkt og gjør det med det! Høres bra ut. Er dårlig.
Heltall er virkelig de vanligste og hendige typer numeriske variabler. Ofte trenger du bare små, hele tallverdier når du programmerer. Flytepunktstall er ok, men de krever mer overhead fra datamaskinen og tar lengre tid å jobbe med. Til sammenligning er heltall langt raskere.
Du må bare bekymre deg om to typer heltall: det normale heltallet - int - og det lange heltallet - lang .
int er en heltalsverdi, som spenner fra -32, 768 til 32, 767. Den er ideelt sett brukt til små tall uten brøkdel. I noen versjoner av C kan du se denne verdien referert til som kort eller kort int . I alle DOS C-kompilatorer kalles det bare int .
Lang er en heltalsverdi, som spenner fra -2, 147, 483, 648 til 2, 147, 483, 647 - et stort utvalg, men ikke stor nok til å omfatte nasjonalgjelden eller Madonnas ego. Denne typen numerisk variabel er referert til som lang eller lang int i noen versjoner av C. Med DOS C-kompilatorer kan du fritt hakke om, kaller det bare lang . I fortsettelse med menneskehetens besettelse med størrelse, synes det å være åpenbart - nei, grådig - å alltid bruke
lang over int . Tross alt er større bedre. Selv om det kan være sant, og psykologer kan diskutere hvorfor de fleste føler den måten, er sannheten at jo mindre variabel typen du kan komme unna med, jo raskere går programmet. int -variablene er små og ryddige, og det er enkelt for datamaskinen å finne på de to tommene. lang -variablene krever litt mer tid til å beregne, og det spiser datamaskinens minne og prosessorkraft for å bruke dem når du er bedre med int s.(Du får se hvorfor dette er slik du fortsetter å programmere i C.) Du bruker
- int og lang søkeord for å erklære heltallvariabler. int er for mindre verdier; lang er for større verdier. Plassholderen
- % i brukes i printf -funksjonen for å vise int variabler. (Du kan også bruke % d plassholder.) int = kort = kort int
- Integervariabler (
- int ) er kortere, raskere og enklere for datamaskinen å håndtere. Hvis Suppe for en var en variabel, ville det være en int . Bruk int s når du trenger en liten, hel numerisk verdi. Negative tall - hvorfor bry deg? Noen ganger trenger du dem, men mesteparten av tiden gjør du det ikke.
- Varianten
- char kan også brukes som en type heltall, selv om den har et ekstremt lite utvalg. Disse variablene brukes mest for å lagre enkelt tegn (eller strenge).