реклама на сайте
подробности

 
 
> Арифметические операции в WinAVR
koluna
сообщение Sep 22 2009, 09:20
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1 040
Регистрация: 3-01-07
Пользователь №: 24 061



Здравствуйте!

Объясните, пожалуйста, принцип работы компилятора на следующих тест-примерах.

Пример 1 (вычисления правильные):
Код
unsigned char Tmpr = 235 -  (unsigned long) 400 * 7800 / 14200; // = 16


Пример 2 (вычисления неправильные):
Код
unsigned char Tmpr = 235 -  400 * 7800 / 14200; // = 236


Почему требуется обязательное приведение типа одного из операндов к unsigned long, а не результата вычисления?
И почему оно вообще требуется?

Благодарю заранее!

Сообщение отредактировал n_bogoyavlensky - Sep 22 2009, 09:25


--------------------
Благодарю заранее!
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 20:28
Рейтинг@Mail.ru


Страница сгенерированна за 0.01347 секунд с 7
ELECTRONIX ©2004-2016