logo

Проширени интегрални типови (одабир тачне величине целог броја у Ц/Ц++)

Ц/Ц++ има веома лабаве дефиниције својих основних целобројних типова података (цхар схорт инт лонг и лонг лонг). Језик гарантује да они могу представљати бар неки опсег вредности, али било која посебна платформа (хардвер оперативног система компајлера) може бити већа од тога.
Добар пример је дуг. На једној машини може бити 32 бита (минимум који захтева Ц). На другом је 64 бита. Шта да радите ако желите целобројни тип који има тачно 32 бита? Ту долази инт32_т: то је псеудоним за било који целобројни тип који ваш систем има, а то је тачно 32 бита.
Шаблон: 
 

  intN_t or uintN_t   Where N is width of integer which can be 8 16 32 64 or any other type width supported by the library.


 



како читати из цсв датотеке у јава
CPP
// C++ program to show use of extended integral types #include    using namespace std; int main() {  uint8_t i; // i with width of exact 8 bits  // Minimum value represented by unsigned 8 bit is 0  i = 0;  cout << "Minimum value of it: "<< (int)i << endl;  // Maximum value represented by unsigned 8 bit is 255  i = 255;  cout << "Maximum value of it: "<< (int)i << endl;  // Warning: large integer implicitly truncated to  // unsigned type. It will print any garbage value  i = 2436;  cout << "Beyond range value of it: " << (int)i << endl;  return 0; } 

Излаз: 
 

пандас итерровс
 In function 'int main()': 19:7:   warning  : large integer implicitly truncated to unsigned type [-overflow] i = 2436; ^ Minimum value of i : 0 Maximum value of i : 255 Beyond range value of i : 132


Различите варијације  
1. Непотписан 8-битни цео број фиксне ширине: уинт8_т  
То значи да ми дај непотписани инт од тачно 8 бита.
2. Минимална ширина без предзнака 8-битни цео број: уинт_леаст8_т  
То значи да ми дај најмањи тип непотписаног инт који има најмање 8 бита. Оптимизовано за потрошњу меморије.
3. Најбржи 8-битни цео број без знака минималне ширине: уинт_фаст8_т  
То значи да ми дајте непотписани инт од најмање 8 бита што ће мој програм учинити бржим. Може изабрати већи тип података због разматрања поравнања. Оптимизовано за брзину.
Тако је загарантовано да је уинт8_т широк тачно 8 бита. Уинт_леаст8_т је најмањи цео број за који је гарантовано широк најмање 8 бита. Уинт_фаст8_т је најбржи цео број за који је гарантовано широк најмање 8 бита. 
Дакле, проширени интегрални типови нам помажу у писању преносиви и ефикасан код.