Ar C ''int'' dydis yra 2 baitai ar 4 baitai?

Ar C Int Dydis Yra 2 Baitai Ar 4 Baitai



Dydis ' tarpt “ C kalba yra karšta tema, kuri dažnai sukelia painiavą skaitytojo mintyse. Tuo metu, kai buvo sukurtas C, dydis „ tarpt “ buvo 2 baitai tačiau bėgant laikui ir išleidus atnaujintą versiją, dydis paprastai pasiekdavo 4 baitai . Tačiau tai nėra griežta taisyklė, nes „ tarpt “ gali skirtis priklausomai nuo kompiliatoriaus ir platformos, kurią naudojate kodavimui.

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' .