unsigned char *writeInt(int v)
{
static unsigned char lol[4];
lol[0] = (((v >> 24) & 0xFF));
lol[1] = (((v >> 16) & 0xFF));
lol[2] = (((v >> 8) & 0xFF));
lol[3] = (((v ) & 0xFF));
return lol;
}
int readInt(unsigned char i[])
{
return (
((i[0] << 24) & 0xFF) |
((i[1] << 16) & 0xFF) |
((i[2] << 8) & 0xFF) |
(i[3] & 0xFF));
}
int main()
{
std::cout << readInt(writeInt(10)) << std::endl;
return 0;
}
Таким образом кодирую int, но при декоде большие числа не корректно отображаются. Пример в данном случае возвращает 10, но возьму число 10000 мне возвращает 16.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости