A
Size: a a a
A
Х
ED
#ifndef uint_tдалее юзаются две переменных:
typedef unsigned int uint_t;
#endif
#define K 4
#define K_MASK ( ((uint_t)1 << (K)) - 1 )
uint_t val, val_mod;ну и где-то дальше:
val = x>>K;ну и где-то дальше вычитаем из остатка от деления бОльший остаток:
val_mod = x&K_MASK;
if (val_mod < y) /* нужен заем */если кому-то интересно это разобрать...
{
val--;
val_mod += K_MASK - y; val_mod[n]++; /* val_mod = 2^K - (y - val_mod) */
}
D
ED
#ifndef CUSTOM_INT
typedef unsigned int uint_t;
#define CUSTOM_INT
#endif
D
#ifndef uint_tдалее юзаются две переменных:
typedef unsigned int uint_t;
#endif
#define K 4
#define K_MASK ( ((uint_t)1 << (K)) - 1 )
uint_t val, val_mod;ну и где-то дальше:
val = x>>K;ну и где-то дальше вычитаем из остатка от деления бОльший остаток:
val_mod = x&K_MASK;
if (val_mod < y) /* нужен заем */если кому-то интересно это разобрать...
{
val--;
val_mod += K_MASK - y; val_mod[n]++; /* val_mod = 2^K - (y - val_mod) */
}
D
D
typedef unsigned int uint_t;
без проверок, но есть шанс получить ошибку алиасаD
ED
D
ED
A
A
A
Х
Х
S
A
D