Реклама ⓘ
Главная » Видео
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Реклама ⓘ

Ардуино C++ начало. Типы данных - Видео

Просмотров: 3804
Комментариев: 13
Опубликовано: 03.11.2018
Автор: TDM Lab
5 Оценок: 147

Файл с описанием типов: https://cloud.mail.ru/public/JLWA/fPDcwy8Dt

Теги:

Добавлен: 06.11.2018 0 0
1
x

Оценить видео

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Качество съемки
0

Средний балл видео: 5 Проголосовало: 1 чел.

Комментарии (5) | Подписаться

0
andro #
Очень интересное и познавательное видео. У меня такой вопрос к автору по типам данных. Если имеется переменная Х типа "byte" и ей в процессе работы программы будет присвоено значение, превышающее 255, ну например 800, то как поведёт себя программа в таком случае?
Ответить
0
TDA #
Приветсвую! В ответ на ваш вопрос я взял число поинтереснее 810. Вот такой код даст на выходе, число 42 :)
byte X;

void setup()
{
X = 810;
Serial.begin(9600);
Serial.print(X);
}
void loop()
{
}

Почему 42? Ну если не считать того, что это ответ на Главный Вопрос, то 810 в двоичной системе это 0000 0011 0010 1010 в типе word, при присваивании произошло усечение до 0010 1010 в типе byte, а это 42 :)
Отредактирован 06.11.2018 16:07
Ответить
0
andro #
Я понял, здесь три раза произошло переполнение максимального значения byte=256 (0-255) вот и получилось 810-256-256-256=42. Спасибо за проверку, я ожидал примерно такой результат, плохо что компилятор не выдаёт предупреждение на этот счёт.
Попробуйте типу int присвоить значение 40000, Я уверен в результате получится число отрицательного значения. Заранее благодарю!
Отредактирован 06.11.2018 16:28
Ответить
0
TDA #
Компилятор С++ считает что разработчику виднее. Да, три раза т.к. 0000 0011 это три
Ответить
+1
TDA #
Все верно, получится число -25536
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?

Ветрогенератор
Ветрогенератор
Катушка Тесла Ручной фен 450 Вт с регулировкой температуры
вверх