Zoro (29.10.2019 11:21, просмотров: 234) ответил VLLV на А есть какие-то уже придуманные макросы/функции для сдвига битов в uint64_t ?
#include <stdio.h> #define foo (1ULL<<42)
void main(void)
{
unsign long long num;
int i;
num = 1;
for (i = 0; i<=64; i++){
printf("num<<%d=%llu\n", i, num<<i);
}
num = num<<42;
printf("num<<42=%llu, %llu\n", num, foo);
}
num<<62=4611686018427387904
num<<63=9223372036854775808
num<<64=1
num<<42=4398046511104, 4398046511104
openwatcom 1.8 32bit