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

 
 
> целочисленный умножения, ошибка
Zelepuk
сообщение Sep 17 2011, 09:56
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 634
Регистрация: 27-10-10
Пользователь №: 60 464



на такой код

unsigned int x;

x = 5313*100;

IAR предупреждает
Warning[Pe061]: integer operation result is out of range
Warning[Pe068]: integer conversion resulted in a change of sign

и соотвественно в "x" лежит уже не то что хотел.
Странно, почему нелзя получить 531300, ведь оно укладывается в диапазон uint?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Zelepuk
сообщение Sep 17 2011, 10:56
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 634
Регистрация: 27-10-10
Пользователь №: 60 464



как же тогда быть, если мне нужно из переменной (y), которая может принимать значения от 5100 до 5200 получить значение x по формуле
x = y*32/100 ???
Go to the top of the page
 
+Quote Post



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

 


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


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