diff --git a/04_UDEF/Testat/Testat.cpp b/04_UDEF/Testat/Testat.cpp index e69de29..25bd4d7 100644 --- a/04_UDEF/Testat/Testat.cpp +++ b/04_UDEF/Testat/Testat.cpp @@ -0,0 +1,81 @@ + +#include "../../helpers/println.hpp" +#include + +const int bitsPerOctet = 8; + +struct BinaryOctet { + bool evenParity; // set to true if number of '1' in bitsAsDigits is even, false otherwise + char bitsAsDigits[bitsPerOctet]; // bit values as chars + BinaryOctet(int x = 0); + + BinaryOctet(const BinaryOctet &) = default; +}; + +BinaryOctet::BinaryOctet(int x) { + int length = std::to_string(x).length() * 4; + while (x >= 1) { + bitsAsDigits[length] = (x % 2 == 0) ? '1' : '0'; + x = x / 2; + length--; + } + + int i = 0; + for (char c : bitsAsDigits) { + if (c == '1') i++; + } + evenParity = i % 2 == 0; +} + +bool operator!=(BinaryOctet a, BinaryOctet b) { + +} + +BinaryOctet operator--(BinaryOctet &id, int) { + +} + +BinaryOctet operator+(BinaryOctet a, BinaryOctet b) { + +} + +BinaryOctet operator/(BinaryOctet a, BinaryOctet b) { + +} + +BinaryOctet doCalculation(BinaryOctet a, BinaryOctet b) { + BinaryOctet result; + + for (; a != b; b--) { + a = a + 1; + a = a / b; + } + result = a + b; + return result; +} + +// for println(); +std::string as_string(BinaryOctet a) { + std::string result = "("; + for (char c : a.bitsAsDigits) { + result += c; + } + result += ")"; + return result; +} + +// for std::cout +/*std::ostream& operator<< (std::ostream& os, const BinaryOctet &toBePrinted){ + os << "(" << ")"; + return os; +}*/ + +int main(int argc, char **argv) { + BinaryOctet a = 0b00001111; + BinaryOctet b = 0b00000110; + println(new BinaryOctet(5)); + println(new BinaryOctet(5)); + //println("result = ", doCalculation(a,b)); + //std::cout << "result = " << doCalculation(a,b) << std::endl; + return 0; +} diff --git a/04_UDEF/main_04_UDEF_a.cpp b/04_UDEF/main_04_UDEF_a.cpp index 102c1ef..fd50ced 100644 --- a/04_UDEF/main_04_UDEF_a.cpp +++ b/04_UDEF/main_04_UDEF_a.cpp @@ -1,7 +1,6 @@ // file: main_04_UDEF_a.cpp #include "../helpers/println.hpp" #include "RationalNumber.hpp" -#include // location 1