0 Tage Serie
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 integer
std::uint64_t largeValue = 1000000000000ULL;
// Guaranteed 8-bit signed integer
std::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.