Summary Files Commits Branches @commit @diff @stats
path: root / Year 1 / Object-oriented Programming / Solutions Sem. 03 / ex4 / Bytex.cpp
diff options
context:
space:
mode:
Commit59508931bc42064c23d5fbcb062d6f7396a873ab (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-03-30 20:20:32 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-03-30 20:20:32 +0300
Files0f5f5e5f0070632790ecf58df30de705f1c17521 /Year 1/Object-oriented Programming/Solutions Sem. 03/ex4/Bytex.cpp
uni-projects-59508931bc42064c23d5fbcb062d6f7396a873ab.tar
uni-projects-59508931bc42064c23d5fbcb062d6f7396a873ab.tar.gz
uni-projects-59508931bc42064c23d5fbcb062d6f7396a873ab.zip
Parentef6d8e6de6061015e7dd41e2f74b733515b4a2e2 (diff)
Solved dimitriev hw (sem 3, ex4)
1 files changed, 46 insertions, 0 deletions
-rw-r--r--Year 1/Object-oriented Programming/Solutions Sem. 03/ex4/Bytex.cpp46
diff --git a/Year 1/Object-oriented Programming/Solutions Sem. 03/ex4/Bytex.cpp b/Year 1/Object-oriented Programming/Solutions Sem. 03/ex4/Bytex.cpp
new file mode 100644
index 0000000..42a03c6
--- /dev/null
+++ b/Year 1/Object-oriented Programming/Solutions Sem. 03/ex4/Bytex.cpp
@@ -0,0 +1,46 @@
+#include "Bytex.h"
+
+char Bytex::digitToHexChar(unsigned int digit) {
+ if (digit < 10)
+ return '0' + digit;
+ return 'A' + digit - 10;
+}
+
+int Bytex::hexCharToNum(char hexChar) {
+ if (hexChar <= '9')
+ return hexChar - '0';
+ return hexChar - 'A' + 10;
+}
+
+void Bytex::byteValToHex() {
+ int front = byteVal / 16, back = byteVal % 16;
+ hexVal[0] = digitToHexChar(front);
+ hexVal[1] = digitToHexChar(back);
+}
+
+void Bytex::hexValToByte() {
+ byteVal = hexCharToNum(hexVal[0]) * 16 + hexCharToNum(hexVal[1]);
+}
+
+Bytex::Bytex() : Bytex('\0')
+{}
+
+Bytex::Bytex(char byteVal) {
+ this->byteVal = byteVal;
+ byteValToHex();
+}
+
+Bytex::Bytex(const char* hexVal) {
+ this->hexVal[0] = hexVal[0];
+ this->hexVal[1] = hexVal[1];
+ hexValToByte();
+}
+
+char Bytex::getByte() const {
+ return byteVal;
+}
+
+void Bytex::getHex(char* output) const {
+ output[0] = hexVal[0];
+ output[1] = hexVal[1];
+}