#include <stdio.h>
#include <stdint.h>
#include <inttypes.h>
int main(void)
{
int8_t n[] = {'9', '8', '7', '6', '5', '4', '3', '2'};
uint64_t* a = (uint64_t *)n;
*a =((*a & 0x0F000F000F000F00)>>8) +\
((*a & 0x000F000F000F000F)*10);
*a = 1000000 * ((*a >> 0 ) & 0xFF) +\
10000 * ((*a >> 16) & 0xFF) +\
100 * ((*a >> 32) & 0xFF) +\
((*a >> 48) & 0xFF);
//little-endian only. Можно переделать под big-endian
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRpbnQuaD4KI2luY2x1ZGUgPGludHR5cGVzLmg+CgppbnQgbWFpbih2b2lkKQp7CgppbnQ4X3QgbltdID0geyc5JywgJzgnLCAnNycsICc2JywgJzUnLCAnNCcsICczJywgJzInfTsKdWludDY0X3QqIGEgPSAodWludDY0X3QgKiluOwoqYSA9KCgqYSAmIDB4MEYwMDBGMDAwRjAwMEYwMCk+PjgpICtcCiAgICAoKCphICYgMHgwMDBGMDAwRjAwMEYwMDBGKSoxMCk7CgoqYSA9IDEwMDAwMDAgKiAoKCphID4+IDAgKSAmIDB4RkYpICtcCiAgICAgICAxMDAwMCAqICgoKmEgPj4gMTYpICYgMHhGRikgK1wKICAgICAgICAgMTAwICogKCgqYSA+PiAzMikgJiAweEZGKSArXAogICAgICAgICAgICAgICAoKCphID4+IDQ4KSAmIDB4RkYpOwovL2xpdHRsZS1lbmRpYW4gb25seS4g0JzQvtC20L3QviDQv9C10YDQtdC00LXQu9Cw0YLRjCDQv9C+0LQgYmlnLWVuZGlhbgoKcHJpbnRmKCIlIlBSSXU2NCwgKmEpOwoKcmV0dXJuIDA7Cn0=