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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
qwestcl
10 / 10 / 1
Регистрация: 30.09.2012
Сообщений: 172
#1

int* to double* - C++

26.01.2014, 15:39. Просмотров 290. Ответов 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
C++ LONG VS DOUBLE / INT VS FLOAT
C++ Shot int b long double
Преобразовать 2 числа int в 1 число float(double) | double int1.int2 C++
Ошибки error C2296: -: недопустимо, левый операнд имеет тип "double (__cdecl *)(double,double,double C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1479 / 1055 / 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*
Ответ Создать тему
Опции темы

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