Форум программистов, компьютерный форум CyberForum.ru

int* to double* - C++

Восстановить пароль Регистрация
 
qwestcl
10 / 10 / 1
Регистрация: 30.09.2012
Сообщений: 172
26.01.2014, 15:39     int* to double* #1
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
   double* myDoublePtr;
    int myInt = 5;
    int* myIntPtr;
 
    myIntPtr = &myInt;
//    cout << "myIntPtr: " << myIntPtr << " " << *myIntPtr << endl;
    myDoublePtr = (double*)myIntPtr;
 
    cout << "myIntPtr: " << myIntPtr << " " << *myIntPtr << endl;
    cout << "myDoublePtr: " << myDoublePtr << " " << *myDoublePtr << endl;
Почему *myDoublePtr = 5.283e-308, а не 5.0?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.01.2014, 15:39     int* to double*
Посмотрите здесь:

cannot convert from 'int *' to 'double *' C++
C++ double и int
C++ int и double
2 int to double C++
Double, int , long double C++
float double int C++
перевести double в int C++
C++ double в int

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
26.01.2014, 15:52     int* to double* #2
потому что так с указателями поступать нельзя.
sizeof(double) > sizeof(int).
у этих типов разное бинарное представление.
допустим размер int - 4 байта. а double - 8.
указатель на инт указывает на первые четыре байта в которым пятерка.
преобразовываем его в указатель на дабл. теперь нужно учитывать 8 байт. первые четыре, в которых
пяторка, и 4 байта за этими четырмя, в которых хранится хз что. вот и получается то, что получается.
Yandex
Объявления
26.01.2014, 15:52     int* to double*
Ответ Создать тему
Опции темы

Текущее время: 22:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru