Форум программистов, компьютерный форум, киберфорум
Наши страницы

DWORD to double - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Записать в ::map ini-файл http://www.cyberforum.ru/cpp-beginners/thread343116.html
Есть большой ini-файл, в ListView вывожу название секций, при выборе конкретной строки списка вывожу соответствующие значения ключей (текстом в ListBox). Получается, при каждом выборе строки идет...
C++ Объектный подход... //--------------------------------------------------------------------------- #pragma hdrstop #include <tchar.h> #include <iostream.h> #include <windows.h>... http://www.cyberforum.ru/cpp-beginners/thread343101.html
C++ Создание интерфейса c++
Я новичок в c++ уже около месяца ищу по поисковикам материал по созданию интерфейса в программе,раньше работал на php и там были заготовки дизайна:...
C++ Ошибка дружественной фунци: a managed type cannot have any friend functions/classes/interfaces
public ref class Person { friend ofstream& operator<<(ofstream& o,Person p); почму выводит ошибку : a managed type cannot have any friend functions/classes/interfaces Добавлено через 41...
C++ В продолжение топика о пароле на папку http://www.cyberforum.ru/cpp-beginners/thread343048.html
Решил привести небольшой код автору топика о пароле. Так вот, скрывать папку можно совсем неизащерёнными методами, как вариант предлагаю установить у папки атрибуты скрытый и системный. Кто то из...
C++ Несколько вопросов к программистам. Доброго времени суток! я начинающий, последние пару месяцев делал упор на изучение Си, WinAPI и дискретной математики. Наверное, это было не самым лучшим решением (WinAPI и дискретная математика).... подробнее

Показать сообщение отдельно
grizlik78
Эксперт С++
1981 / 1474 / 127
Регистрация: 29.05.2011
Сообщений: 3,047
18.08.2011, 14:46
Цитата Сообщение от Саааня Посмотреть сообщение
число 0x3ff00000 по идее должно представляться в double как 1.0,так?
Нет конечно же. Но если надо DWORD интерпретировать как double, то можно воспользоваться указателями или лучше объединением. Только DWORD 32-битный, так что ему больше подойдёт float, а не double.

Добавлено через 7 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
 
#ifndef DWORD
#define DWORD unsigned int
#endif
 
union dw2dbl
{
    double dbl;
    DWORD dw[2];
};
 
union dw2flt
{
    float flt;
    DWORD dw;
};
 
int main()
{
    dw2dbl cnv1;
    dw2flt cnv2;
 
    cnv1.dw[0] = 0;
    cnv1.dw[1] = 0x3ff00000;
 
    cnv2.dw = 0x3ff00000;
 
    std::cout << "to double: " << cnv1.dbl << std::endl;
    std::cout << "to float: " << cnv2.flt << std::endl;
 
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru