|
|
@ -5,6 +5,10 @@
|
|
|
|
#include <cstdint>
|
|
|
|
#include <cstdint>
|
|
|
|
#include <cassert>
|
|
|
|
#include <cassert>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include <iostream>
|
|
|
|
|
|
|
|
#include <cstdint>
|
|
|
|
|
|
|
|
#include <cassert>
|
|
|
|
|
|
|
|
|
|
|
|
char nibble_to_hex(uint8_t i) {
|
|
|
|
char nibble_to_hex(uint8_t i) {
|
|
|
|
char digits[] = "0123456789abcdef";
|
|
|
|
char digits[] = "0123456789abcdef";
|
|
|
|
assert(0x0 <= i && i <= 0xf);
|
|
|
|
assert(0x0 <= i && i <= 0xf);
|
|
|
@ -44,6 +48,13 @@ char bit_digit(uint8_t byte, uint8_t bit) {
|
|
|
|
return '0';
|
|
|
|
return '0';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Ôóíêöèÿ äëÿ ïå÷àòè áàéòà â äâîè÷íîé ñèñòåìå
|
|
|
|
|
|
|
|
void print_in_binary(uint8_t byte) {
|
|
|
|
|
|
|
|
for (uint8_t bit = 7; bit > 0; bit--) {
|
|
|
|
|
|
|
|
std::cout << bit_digit(byte, bit);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
int main() {
|
|
|
|
int main() {
|
|
|
|
uint8_t u8 = 0x42;
|
|
|
|
uint8_t u8 = 0x42;
|
|
|
|
uint16_t u16 = 0x42;
|
|
|
|
uint16_t u16 = 0x42;
|
|
|
@ -53,27 +64,21 @@ int main() {
|
|
|
|
print_in_hex(&u8, sizeof(u8));
|
|
|
|
print_in_hex(&u8, sizeof(u8));
|
|
|
|
|
|
|
|
|
|
|
|
std::cout << "\nu8 binary: ";
|
|
|
|
std::cout << "\nu8 binary: ";
|
|
|
|
for (int i = 7; i >= 0; --i) {
|
|
|
|
print_in_binary(u8);
|
|
|
|
std::cout << bit_digit(u8, i);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
std::cout << '\n';
|
|
|
|
std::cout << '\n';
|
|
|
|
|
|
|
|
|
|
|
|
std::cout << "\nu16 bytes: ";
|
|
|
|
std::cout << "\nu16 bytes: ";
|
|
|
|
print_in_hex(&u16, sizeof(u16));
|
|
|
|
print_in_hex(&u16, sizeof(u16));
|
|
|
|
|
|
|
|
|
|
|
|
std::cout << "\nu16 binary: ";
|
|
|
|
std::cout << "\nu16 binary: ";
|
|
|
|
for (int i = 15; i >= 0; --i) {
|
|
|
|
print_in_binary(u16);
|
|
|
|
std::cout << bit_digit(u16, i);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
std::cout << '\n';
|
|
|
|
std::cout << '\n';
|
|
|
|
|
|
|
|
|
|
|
|
std::cout << "\nu32 bytes: ";
|
|
|
|
std::cout << "\nu32 bytes: ";
|
|
|
|
print_in_hex(&u32, sizeof(u32));
|
|
|
|
print_in_hex(&u32, sizeof(u32));
|
|
|
|
|
|
|
|
|
|
|
|
std::cout << "\nu32 binary: ";
|
|
|
|
std::cout << "\nu32 binary: ";
|
|
|
|
for (int i = 31; i >= 0; --i) {
|
|
|
|
print_in_binary(u32);
|
|
|
|
std::cout << bit_digit(u32, i);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
std::cout << '\n';
|
|
|
|
std::cout << '\n';
|
|
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
return 0;
|
|
|
|