From 9abe39dd983587577a179d0e41ab53379d3f7947 Mon Sep 17 00:00:00 2001 From: rogozinay Date: Sun, 14 Jan 2024 18:03:55 +0300 Subject: [PATCH] First configuration of main-calc.cpp added --- changes.txt | 1 + lab04.cbp | 42 ++++++++++++++++++++++++++++++++++++++++++ lab04.h | 13 +++++++++++++ main.cpp | 24 ++++++++++++++++++++++++ source.cpp | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 126 insertions(+) create mode 100644 changes.txt create mode 100644 lab04.cbp create mode 100644 lab04.h create mode 100644 main.cpp create mode 100644 source.cpp diff --git a/changes.txt b/changes.txt new file mode 100644 index 0000000..4959b47 --- /dev/null +++ b/changes.txt @@ -0,0 +1 @@ +Add base .cpp files, and header lab04.h diff --git a/lab04.cbp b/lab04.cbp new file mode 100644 index 0000000..aef035e --- /dev/null +++ b/lab04.cbp @@ -0,0 +1,42 @@ + + + + + + diff --git a/lab04.h b/lab04.h new file mode 100644 index 0000000..65a1515 --- /dev/null +++ b/lab04.h @@ -0,0 +1,13 @@ +#ifndef LAB04_H_INCLUDED +#define LAB04_H_INCLUDED +#include +#include + +#pragma once + +void print_in_hex(uint8_t byte); +void print_in_hex(const void* data, size_t size); +void print_in_binary(uint8_t byte); +void print_in_binary(const void* data, size_t size); + +#endif // LAB04_H_INCLUDED diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..4a9b600 --- /dev/null +++ b/main.cpp @@ -0,0 +1,24 @@ +#include +#include +#include "lab04.h" + + +using namespace std; + +int main() { + uint8_t singleByte = 0xAB; + uint8_t byteArray[] = { 0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC, 0xDE, 0xF0 }; + + cout << "Print in Hex:" << endl; + print_in_hex(singleByte); + + cout << endl; + print_in_hex(byteArray, sizeof(byteArray)); + + cout << "\nPrint in Binary:" << endl; + print_in_binary(singleByte); + cout << endl; + print_in_binary(byteArray, sizeof(byteArray)); + + return 0; +} diff --git a/source.cpp b/source.cpp new file mode 100644 index 0000000..031f455 --- /dev/null +++ b/source.cpp @@ -0,0 +1,46 @@ +#include "lab04.h" +#include + +#include "lab04.h" + +void print_in_hex(uint8_t byte) { + std::cout << std::hex << std::setw(2) << std::setfill('0') << static_cast(byte) << " "; +} + +void print_in_hex(const void* data, size_t size) { + const uint8_t* byteData = static_cast(data); + + for (size_t i = 0; i < size; ++i) { + print_in_hex(byteData[i]); + + // Add a space after every 8 bytes for better readability + if ((i + 1) % 8 == 0) { + std::cout << " "; + } + } + + std::cout << std::dec << std::endl; // Reset to decimal for further output +} + +void print_in_binary(uint8_t byte) { + for (int i = 7; i >= 0; --i) { + std::cout << ((byte >> i) & 1); + } + std::cout << " "; +} + +void print_in_binary(const void* data, size_t size) { + const uint8_t* byteData = static_cast(data); + + for (size_t i = 0; i < size; ++i) { + print_in_binary(byteData[i]); + + // Add a space after every 8 bytes for better readability + if ((i + 1) % 8 == 0) { + std::cout << " "; + } + } + + std::cout << std::endl; +} +