представление чисел типа double
borik 14 декабря, 2006 - 18:12.Пожалуйста подскажите, как реализовать следующую задачу на ВС++. Необходимо не терять младшие биты при умножении чисел типа double. Мантисса дабловских чисел состоит из 52 битов. То есть, если все 52 бита значящие, то при умножении последние 26 отбросятся, чтобы результат поместился в 52.
Я пытался разбить число double на 2 числа double, у первого занулял 26 младших битов, у старшего 26 старших. При умножении получаю 2 числа первое=результату умножения чисел с нулевыми младшими битами, второе=сумме результатов умножений вторая часть 1–го числа (нулевые старшие биты) на первую часть 2–го числа (нулевые младшиешие биты) + первая часть 1–го числа на вторую часть второго числа. Затем складываю эти результаты и вроде бы должен получаться правильный ответ. К сожалению нет :(
Отправить комментарий