Pokaż więcej kodu (serio, nie mam pojęcia o co chodzi). Co do funkcji zmieniłbym ją tak:
template<typename Type>
inline char* toSave(Type& x)
{ return reinterpret_cast<char*>(&x); }
Nie mam pojęcia po co są linijki 4 i 6.
Mam jeszcze taki pomysł: liczba jest mała, więc zapisywany jest jeden bajt, a reszta to niewidoczne nulle.