00001
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #include "GizmoUtils.hpp"
00030 #include "../libH/Debug.hpp"
00031 #include "../libH/Exception.hpp"
00032 #include <bitset>
00033
00034 using namespace std;
00035 using namespace H;
00036
00038
00040
00042
00044
00048 GizmoUtils::GizmoUtils() {
00049 }
00050
00054 GizmoUtils::~GizmoUtils() {
00055 }
00056
00058
00060
00067 int GizmoUtils::bitDifference(unsigned char ReferenceCode, unsigned char ActualCode) {
00068 unsigned char DifferingBits = ReferenceCode ^ ActualCode;
00069 bitset<sizeof(unsigned char) * 8> bits(DifferingBits);
00070 return bits.count();
00071 }