Пятница, 03 Мая 2024, 23:12

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » Общие обсуждения программистов » Умножение с фиксированной точкой
Умножение с фиксированной точкой
DeswingДата: Суббота, 28 Сентября 2013, 23:04 | Сообщение # 1
заслуженный участник
Сейчас нет на сайте
как??? surprised
XakepДата: Воскресенье, 29 Сентября 2013, 00:51 | Сообщение # 2
めちゃくちゃちゃ
Сейчас нет на сайте
что-то не совсем понятно, если нужно при умножении 2х чисел с плавающей запятой получить число вида: 1.000000e+01 то просто вывести уже такое число:
sprintf(buff, "%e", num);
DeswingДата: Воскресенье, 29 Сентября 2013, 10:16 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
Xakep, я имел ввиду как в столбик умножить числа с фикс. точкой. 1111110011,11*00111101,01, например
LunarPixelДата: Воскресенье, 29 Сентября 2013, 10:31 | Сообщение # 4
старожил
Сейчас нет на сайте
..........101.01
х
..........110.11
-------------------
...........10101
+
.........10101
+
.......00000
+
.....10101
+
...10101
-------------------
100011.0111

Все по принципу обычного умножения в столбик. Если умножаем первый множитель на 0, то получаем все нули, если умножаем на 1, то переписываем первый множитель. Потом складываем. Считаем количество знаков после запятой у первого и второго множителя, складываем, отсчитываем такое количество знаков справа от результата и ставим точку. В данном случае у первого и второго множителя после запятой по 2 знака, в сумме 4, у результата отсчитываем 4 знака с конца.


Форум игроделов » Программирование » Общие обсуждения программистов » Умножение с фиксированной точкой
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг