Re[9]: float
От: glyph  
Дата: 22.09.04 08:53
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Здравствуйте, glyph, Вы писали:


G>>Здравствуйте, LaptevVV, Вы писали:


LVV>>>Что значит "если прав"? Переведите 0.1 в двоичную систему

G>> А Вы для начала запишите, в каком виде 0.1 будет представлено в машинном виде, а только потом переводите в двоичный вид. Результат другой будет.
LVV>Машинный вид мантиссы определяется стандартом IEEE — это еще усложняет проблему (в частности, скрытая единица). Я же здесь просто продемонстрировал, что при переводе 0.1 в двоичную систему получается период — значит в машине приходится хвостик обрезать. Стратегия "обрезания" тоже может быть разной (см. описание препроцессора Intel): с отсечением или округлением, например.
Верно. Это я спутал с инженерным представлением числа. Оно бы тогда записалось как 1.0 * 10 в -1. А у нас основание мантиссы — 2. Каюсь.
По ходу треда. Автор! Ты вообще читал варнинги, которые тебе выдает компилятор?
Там, английским по белому написано: warning C4244: 'initializing' : conversion from 'double' to 'float', possible loss of data. Так что объявляй переменные как double.
Суть происходящего можно узнать из Книги Зубкова.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.