Вот что вызывает у меня разочарование:
У нас есть два целых числа: один имеет тип int16_t
, а другой - int8_t
. Я инициализировал обе переменные следующим образом:
int8_t short_int = 250 //This equals -6, and its binary representation is 0b1111 1010
Пока все хорошо.
int16_t my_int = short_int //as we already know short_int is 0b1111 1010
Для меня my_int должен равняться 0b1111 1010 правильно? В качестве 16-битного целого значения 0b1111 1010 имеет десятичное представление 250. ОК, но это не так.
Распечатка значения my_int Я получаю -6, который в двоичном представлении равен 0b1111 1111 1111 1010 полностью отличается от short_int
как двоичный файл.