blob: bc2bee61753036bffd15a75ec0987d6fddc74491 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
#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];
}
|