|
|
|
float to int в VC 2003
|
|||
|---|---|---|---|
|
#18+
Вот, в очередной раз напоролся на глюк конвертации float/double в int/long на VC 2003. И наконец заинтересовался, а кто-нибудь пробовал дизассемблировать эту мистическую функцию ftol2()? Что там конкретно делается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2006, 23:49 |
|
||
|
float to int в VC 2003
|
|||
|---|---|---|---|
|
#18+
Как выглядит глюк? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2006, 22:40 |
|
||
|
float to int в VC 2003
|
|||
|---|---|---|---|
|
#18+
White OwlИ наконец заинтересовался, а кто-нибудь пробовал дизассемблировать эту мистическую функцию ftol2()? Что там конкретно делается? Насколько я помню (давно это было) у сопроцессора есть такая команда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2006, 10:08 |
|
||
|
float to int в VC 2003
|
|||
|---|---|---|---|
|
#18+
Могу предположить, что глюк выглядит как пропадание дробной части. Я угадал ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2006, 10:46 |
|
||
|
float to int в VC 2003
|
|||
|---|---|---|---|
|
#18+
Нет, не угадали. Не видели что ли ни разу? Код: plaintext 1. 2. Но если пишешь под Win32 с использованием SDK линкер почему-то эту функцию в libc не находит. Сами микрософты предлагают решать эту проблему использованием опции компилятора -Qifist, которая вместо call __ftol2 будет делать fistp QWORD PTR tvXXX[esp+NN] . Но очень не рекомендуют, потому что поведение fistp зависит от настроек, а ftol2 якобы универсальная. Вот и хочется посмотреть на тот универсальный код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2006, 19:04 |
|
||
|
float to int в VC 2003
|
|||
|---|---|---|---|
|
#18+
А является ли такое присвоение идеологически правильным с позиции С++ ? Честно говоря.. давно не читал спецификации. Надо-бы освежить память. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2006, 11:57 |
|
||
|
float to int в VC 2003
|
|||
|---|---|---|---|
|
#18+
maytonА является ли такое присвоение идеологически правильным с позиции С++ ?Вполне. Ругнется варнингом на возможную потерю точности, но и только. В крайнем случае замени i=d; на i=(int)d; :) Проблема то в самой связке VC2003 и SDK. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2006, 19:23 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=341&tid=2030748]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 216ms |
| total: | 356ms |

| 0 / 0 |
