Главная

представление чисел типа double

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

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Allowed HTML tags: <a> <em> <i> <img> <strong> <b> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Подробнее о форматировании

CAPTCHA
Введите перечисленные символы, чтобы мы убедились, что вы не робот. Не требуется для зарегистрированных пользователей.
a
Q
D
p
E
T
Enter the code without spaces and pay attention to upper/lower case.