// Created by Professional on 10.12.2025. #include #include #include #include #include using namespace std; char nibble_to_hex(uint8_t i){ assert(0x0 <= i && i <= 0xf); switch (i) { case 0x0: return '0'; case 0x1: return '1'; case 0x2: return '2'; case 0x3: return '3'; case 0x4: return '4'; case 0x5: return '5'; case 0x6: return '6'; case 0x7: return '7'; case 0x8: return '8'; case 0x9: return '9'; case 0xA: return 'A'; case 0xB: return 'B'; case 0xC: return 'C'; case 0xD: return 'D'; case 0xE: return 'E'; case 0xF: return 'F'; default: return '?'; } } void print_in_hex(uint8_t byte) { cout<< nibble_to_hex(byte >> 4)<<""<= 0; --bit) { printf("%d", (byte >> bit) & 1); } cout<< endl; } void print_in_binary(const void* data, size_t size) { const uint8_t* bytes = (const uint8_t*)data; for (size_t i = 0; i < size; ++i) { print_in_binary(bytes[i]); // вывод по одному байту printf(" "); // пробел между байтами if ((i + 1) % 4 == 0) // перевод строки после 4 байт printf("\n"); } if (size % 4 != 0) printf("\n"); } int main() { uint8_t u8 = 0x42; uint16_t u16 = 0x42; uint32_t u32 = 0x42; print_in_hex(u8); cout<<" "; cout<< endl; cout << "u8 bytes: "; print_in_hex(&u8, sizeof(u8)); cout<< endl; cout << "u16 bytes: "; print_in_hex(&u16, sizeof(u16)); cout<< endl; cout << "u32 bytes: "; print_in_hex(&u32, sizeof(u32)); cout << '\n'; print_in_hex(&u8,40); cout<< endl; printf("%02X", u8); cout<< endl << "Enter number: "; return 0; } //test23234