#include "Bytex.h" /* Private functions */ char Bytex::digitToHexChar(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]); } /* Public functions */ 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]; }