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

 
 
> Умножение 32 разрядных чисел, Int32 умножается как int 16
Vlad_9
сообщение Oct 24 2017, 05:31
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 13-09-17
Пользователь №: 99 289



Добрый день.
Компилятор gcc, контроллер stm32f103, есть переменная int32 при умножение если получаемое число занимает больше 16 разрядов получается хрень. Такое впечатление что умножается 16 разрядная переменная. Пробовал сложение там все нормально. Может кто сталкивался.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 3)
Forger
сообщение Oct 24 2017, 05:59
Сообщение #2


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

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



код покажите


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
scifi
сообщение Oct 24 2017, 06:32
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Всё там нормально. Вопросы по разрядности умножения в Си всегда возникают от незнания правил приведения типов.
Ну и да, код покажите.
Go to the top of the page
 
+Quote Post
Vlad_9
сообщение Oct 24 2017, 07:43
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 13-09-17
Пользователь №: 99 289



Все, все прошу сильно не ругать, был не прав, нашел ошибку.
Правила приведения типов в моем случае не совсем то, все намного хуже. Вообщем один из множителей переполнился.
Большое спасибо тема закрыта.

Сообщение отредактировал Vlad_9 - Oct 24 2017, 07:44
Go to the top of the page
 
+Quote Post

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

 


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


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