Jei esate sumišęs dėl „ tarpt “ ar tai 2 baitai arba 4 baitai , vadovaukitės šio straipsnio gairėmis.
Ar C dydis „int“ yra 2 baitai arba 4 baitai
Pirmosiomis dienomis, kai buvo pristatyta C kalba, vienas dalykas, kuris atėjo į kūrėjų mintis, buvo padaryti šią kalbą kuo paprastesnę. Tuo metu kompiuteryje buvo naudojamas 16 bitų procesorius, taigi tuo metu „ tarpt “ buvo fiksuotas iki 2 baitų. Laikui bėgant sistemos skaičiavimo galia didėja, o kūrėjas keičia ' tarpt “ C iki 4 baitų. To priežastis yra leisti C programuotojams naudoti dideles reikšmes ir sukurti daugiau galios programų sistemoje.
Kokie veiksniai turi įtakos „int“ dydžiui C
Yra trys veiksniai, turintys įtakos „ tarpt “ dydis C, kurie yra tokie:
1: The sistemos procesorius labai veikia ' tarpt “ dydis. 32 bitų architektūrai reikšmė „ tarpt “ dydis yra 4 baitai. Priežastis yra ta, kad baitas susideda iš 8 bitų, todėl padauginus 8 bitus/baite iš 4 baitų, rezultatas bus 32 bitai.
2: The Operacinė sistema versija taip pat turi didžiulę įtaką „ tarpt ' dydis ir 64 bitų operacinė sistema naudos 4 baitus ' tarpt “ tipai. Tačiau tai vis tiek priklausys nuo kitų veiksnių, pvz., naudojamo kompiliatoriaus ar platformos.
3: The kompiliatorius taip pat turi įtakos ' tarpt “ dydis C ir yra kompiliatorių, kurie leidžia C programuotojams sukonfigūruoti „int“ dydį pagal savo pasirinkimą.
Skirtingi kompiliatoriai gali turėti skirtingą C kalbos įgyvendinimą, tai reiškia, kad jie gali peržiūrėti C. tarpt “ duomenų tipas įvairiais būdais. Dažniausiai kompiliatorius gali apsvarstyti „ tarpt “ C kalba būti 2 baitai arba 4 baitai dydžio. A 2 baitai 'int' užimtų du baitų atminties, o reikšmės, kurias ji galėtų saugoti, rodomos kaip -32768 į 32767 . Priešingai, a 4 baitų 'int' užimtų keturi baitų atminties, o reikšmės rodomos kaip -2147483648 į 2147483647 .
Tačiau jei patikrinsime „ tarpt “ šiuolaikiniame C++ kompiliatoriuje pateikia atsakymą:
#include#include
#include
tarp pagrindinis ( int argc, char ** argv ) {
printf ( 'Int_MAX : %d \n “ , INT_MAX ) ;
printf ( 'int_MIN : %d \n “ , INT_MIN ) ;
grąžinti 0 ;
}
Aukščiau pateiktame kode mes nustatome „ tarpt “ naudodami funkcijas int_MAX() ir int_MIN() kas parodo, kad dydis tarpt “ yra 4 baitai .
Išvestis
Dauguma šiuolaikinių kompiliatorių C kalbą įgyvendina taip, kad C dydis „int“ yra 4 baitai . Beje, kai kurie kompiliatoriai vis dar naudoja 2 baitai 'int' dydis, o tai reiškia, kad kūrėjai turi būtinai patikrinti, kurį kompiliatorių jie naudoja, kad įsitikintų, jog jų programa tinkamai veikia.
Išvada
Tikslus C dydžio 'int' duomenų tipas gali skirtis priklausomai nuo naudojamo kompiliatoriaus. Dažniausiai tai yra 4 baitai , leidžianti išsaugoti didesnį reikšmių diapazoną. Tačiau kai kurie kompiliatoriai vis tiek gali įdiegti C kalbą taip, kad C dydžio 'int' yra 2 baitai. Galiausiai programuotojas turi žinoti, kad kompiliatorius naudojamas tiksliai nustatyti C dydžio 'int' .