[an error occurred while processing this directive]
Если литры сложить с метрами, получатся граммы ;)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено BLACKEAGLE 16 января 2003 г. 00:17
В ответ на: Арифметические операции в Кейле с использованием флоата. отправлено kolian 15 января 2003 г. 23:07

А если серьезно - объявляя тип переменной, ты заказываешь компилятору СПОСОБ размещения этой переменной в памяти/регистрах и, как следствие - ПРАВИЛА И ПОСЛЕДОВАТЕЛЬНОСТЬ манипуляций с переменными, занимающими более чем одну минимально адресуемую ячейку памяти или регистр. Безусловно корректными будут лишь операции над ОДИНАКОВЫМИ типами, мало того - РЕЗУЛЬТАТ тоже обязан располагаться в переменной того же типа, что и входные операнды.

Грамотный компилятор должен уметь обращать твое внимание на несоответствие типов переменных, участвующих в операции, но ты должен иметь возможность это ему запретить - есть масса случаев, когда гораздо экономнее будет производить действия над разнотипными операндами. В таких случаях опасно БЕЗДУМНО доверяться компилятору, и применять это следует только тогда, когда до малейших деталей представляешь себе все нюансы, связанные с размещением разнотипных данных и с неявным приведением типов - каждый компилятор здесь может пуститься во все тяжкие. Поначалу лучше будь послушным и делай как положено, нахулиганить еще успеешь. А Паскаль вспоминай пореже - это учебное пособие с автоматическим исправлением ошибок, а не боевое оружие эмбеддера ;)

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru