FPU on Intel x86

lilia_rass

Всем привет.
Есть такое плавающее число в extended-формате: 0xc03d ffff ffff ffff ffff
округляем его при помощи frndint со включённым rounding control = округлять ввех
получаем: 0xc03d ffff ffff ffff fffe
Почему при этом не выставляется бит C1 (было округление вверх) в fpu status word?

lilia_rass

Судя по нескольким тестам, у меня сложилось впечатление, что C1 выставляется не в случае округления вверх, а в случае округления вверх по абсолютному значению. Т.к. в случае положительного знака C1 выставляется в точности согласно выставленному rounding mode, в случае отрицательного - с точностью до наоборот.
В интернетах ничего про это не нашёл. На бит C1 действительно всем плевать? :o

apl13

Меня он глубоко заботит, ты же знаешь. Но платонически!
Оставить комментарий
Имя или ник:
Комментарий: