cpp / intermediate
Snippet
Präzise Ganzzahl-Aliase mit fester Breite
Standard-C++-Ganzzahltypen wie 'int' oder 'long' können in ihrer Größe zwischen Architekturen variieren. Der Header <cstdint> bietet Aliase wie int32_t oder uint64_t an, die eine spezifische Bitbreite garantieren, was für plattformübergreifende Datenstrukturen und Binärformate unerlässlich ist.
snippet.cpp
cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>#include <cstdint>#include <limits>int main() {// Guaranteed 64-bit unsigned integerstd::uint64_t largeValue = 1000000000000ULL;// Guaranteed 8-bit signed integerstd::int8_t smallValue = 120;std::cout << "Size of uint64_t: " << sizeof(largeValue) << " bytes\n";std::cout << "Max int8_t: " << (int)std::numeric_limits<std::int8_t>::max() << "\n";return 0;}
Erklärung
1
std::uint64_t largeValue = 1000000000000ULL;
Deklariert eine vorzeichenlose 64-Bit-Ganzzahl und stellt sicher, dass sie unabhängig von der Plattform 8 Byte umfasst.
2
std::int8_t smallValue = 120;
Deklariert eine vorzeichenbehaftete 8-Bit-Ganzzahl, die normalerweise für kleine Zahlen oder zeichenähnliche Byte-Daten verwendet wird.