Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как преобразовать UINT64 в double ?

724
02 ноября 2003 года
_anton
100 / / 04.11.2002
Хотелось бы узнать!
724
02 ноября 2003 года
_anton
100 / / 04.11.2002
Похоже все умерли! Загружу в wc3 tft какую-нить
rpg - карту и поищу свиток живой смерти !Как
найду - вернусь и всех оживлю!
Шутка!!!

P.S.: похоже активность форума упала!
319
02 ноября 2003 года
xelos
577 / / 27.02.2003
Цитата:
Originally posted by _anton
Хотелось бы узнать!


а просто кастинг не работает?
что-то типа:

double d;
UINT64 myu;
d=(double)(myu);

724
03 ноября 2003 года
_anton
100 / / 04.11.2002
Цитата:
Originally posted by xelos

а просто кастинг не работает?
что-то типа:

double d;
UINT64 myu;
d=(double)(myu);



Нет!
error C2520: conversion from unsigned __int64 to double not implemented, use signed __int64

На gamedev мне предложили такой вариант:

unsigned __int64 i = 0x80000AB000000000;//Для теста
double d = ((double)(signed __int64)(i >> 63)) * ((double)0x7FFFFFFFFFFFFFFF) +
(double)(signed __int64)(i << 1 >> 1) + 1.0f;
Нет уверенности на счёт +1.0f

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог