В чём отличие 1u от 1?

Есть ли принципиальное отличие между 1u и 1, если я работаю с битами? Есть ли side-effects?

unsigned int dim;
unsigned int size;

...

typedef short int base_t;
typedef unsigned char size_base_t;
size_base_t start_bit = this->dim * index;bits
size_base_t start_bit_vector = start_bit % size;
base_t start_mask = (1u << start_bit_vector) - 1;

Ответы (1 шт):

Автор решения: hedgehogues

В данном случае отличия не будет. Потому что нормальная работа с битами гарантируется для unsigned. Будут отличия при работе с отрицательными значениями

→ Ссылка