Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 16.05.2015
Сообщений: 1
1

Побитовое изменение мантиссы

17.05.2015, 00:37. Показов 807. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Требуется поочередно изменить каждый бит мантиссы числа с двойной точностью.
Никак не могу найти ошибку в коде.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
const int mantissa = 52; // 52 бита мантиссы в double
double m = 0.7; // Данное число
unsigned __int64 b_s[mantissa]{0}; // Битовые маски
double m_s[mantissa]{0}; // Массив с измененными числами
for (int i = 0; i < mantissa; i++)
{
    b_s[i] = 1 << i; // Двоичный сдвиг влево
    unsigned __int64 *tmp = (unsigned __int64*)&m;
    printf("m = %I64x\n", *tmp);
    printf("b = %I64x\n", b_s[i]);
    m_s[i] = *tmp ^ b_s[i]; // наложение маски
    unsigned __int64 *tmp2 = (unsigned __int64*)&m_s[i];
    printf("m_s = %I64x\n", *tmp2);
}
Результат работы фрагмента:
m = 3fe6666666666666
b = 1
m_s = 43cff33333333333

а должно получиться
m_s = 3fe6666666666667
Причем когда я вручную инициализирую в шестнадцатеричном виде, то все работает корректно. Есть идеи?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.05.2015, 00:37
Ответы с готовыми решениями:

Нормализация мантиссы
Нормализация мантиссы. Если предположить, что имеется только 6 бит под мантиссу и нужно...

Оценить размер мантиссы
Есть ли методы оценки размера мантиссы ?

Ноль в конце мантиссы
Здравствуйте! Небольшой вопросик: я вывожу некоторое число double, которое округляю до двух знаков...

Вывод мантиссы числа на экран
Имеется вещественное число 0.12*10^3. Двоичный эквивалент мантиссы равен примерно...

0
17.05.2015, 00:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2015, 00:37
Помогаю со студенческими работами здесь

Выделение мантиссы, вставка asm в C++
Здравствуйте мне необходимо сделать вставку на ассемблере в Сишный код, что бы получить мантиссу...

Определение порядка и мантиссы вещественного числа
Помогите, пожалуйста, мне нужно написать алгоритм определения порядка и мантиссы вещественного...

Программа не считает дробные числа и мантиссы
Суть проблемы есть прога, взодной и выходные файлы. Все работает, но но если засунуть во входной...

Представление действительных чисел в виде мантиссы и порядка
Признак нормализованной мантиссы-... 1)Еденица в старшем разряде 2)Нуль в старшем разряде...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru