Arduino: 64-Bit uint64_t als sechzehn Hex-Ziffern ausgeben
English
Deutsch
In Arduino möchte man oft den Hex-Wert eines 64-Bit-Werts wie eines uint64_t ausgeben, bestehend aus sechzehn Hex-Ziffern. Wenn man beispielsweise uint64_t val = 169557370125; hat, möchte man 000000277a68250d ausgeben.
In Arduino kann man das mit Serial.printf() und %08lx08lx als Formatbezeichner tun, indem man den uint64_t in zwei uint32_t-Instanzen aufteilt und diese nacheinander ausgibt:
print_uint64_hex.ino
Serial.printf("%08lx%08lx\r\n",
((uint32_t)((val >> 32) & 0xFFFFFFFF)),
((uint32_t)(val & 0xFFFFFFFF)));Siehe Arduino: 32-Bit uint32_t als acht Hex-Ziffern ausgeben für weitere Informationen dazu, was %x bedeutet und warum das 08 in %08x als printf-Formatbezeichner benötigt wird.
Check out similar posts by category:
Arduino, Electronics, Embedded, PlatformIO
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow