Обнаружен блокировщик рекламы. Сайт Паяльник существует только за счет рекламы, поэтому мы были бы Вам благодарны если Вы внесете сайт в список исключений. Как это сделать?
Очень интересное и познавательное видео. У меня такой вопрос к автору по типам данных. Если имеется переменная Х типа "byte" и ей в процессе работы программы будет присвоено значение, превышающее 255, ну например 800, то как поведёт себя программа в таком случае?
Почему 42? Ну если не считать того, что это ответ на Главный Вопрос, то 810 в двоичной системе это 0000 0011 0010 1010 в типе word, при присваивании произошло усечение до 0010 1010 в типе byte, а это 42 :)
Я понял, здесь три раза произошло переполнение максимального значения byte=256 (0-255) вот и получилось 810-256-256-256=42. Спасибо за проверку, я ожидал примерно такой результат, плохо что компилятор не выдаёт предупреждение на этот счёт.
Попробуйте типу int присвоить значение 40000, Я уверен в результате получится число отрицательного значения. Заранее благодарю!
Комментарии (5) | Подписаться
void setup()
{
X = 810;
Serial.begin(9600);
Serial.print(X);
}
void loop()
{
}
Почему 42? Ну если не считать того, что это ответ на Главный Вопрос, то 810 в двоичной системе это 0000 0011 0010 1010 в типе word, при присваивании произошло усечение до 0010 1010 в типе byte, а это 42 :)
Попробуйте типу int присвоить значение 40000, Я уверен в результате получится число отрицательного значения. Заранее благодарю!