информационная безопасность
без паники и всерьез
 подробно о проекте
Портрет посетителяSpanning Tree Protocol: недокументированное применениеСетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Модульный ботнет от русских хакеров 
 Торвальдс и вайбтестеры 
 Атака на GitHub 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[C] float 08.08.01 12:34  
Автор: veshalka Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Кто нить может обьяснить какой бит за что отвечает при хранении чисел указанного типа. Вот есть такая описаловка:

Величина с модификатором-типа float занимает 4 байта. Из них 1 бит отводится для знака, 8 бит для избыточной экспоненты и 23 бита для мантиссы. Отметим, что старший бит мантиссы всегда равен 1, поэтому он не заполняется, в связи с этим диапазон значений переменной с плавающей точкой приблизительно равен от 3.14E-38 до 3.14E+38.

Ну, хоть убей не могу понять что такое избыточная экспонента и как формируются эти максимальные значения.
[C] float 08.08.01 14:09  
Автор: ukv Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Величина с модификатором-типа float занимает 4 байта. Из
> них 1 бит отводится для знака, 8 бит для избыточной
> экспоненты и 23 бита для мантиссы. Отметим, что старший бит
> мантиссы всегда равен 1, поэтому он не заполняется, в связи
> с этим диапазон значений переменной с плавающей точкой
> приблизительно равен от 3.14E-38 до 3.14E+38.

Что такое избыточная экспонента, объяснить не могу. Но с представлением 4х-байтовых вещественных чисел дело обстоит так.

Знаковый бит - старший (0 = +, 1 = - )

По значениям экспоненты
00000000 = 0.0
00800000 = 1.17549... e-38
01000000 = 2.35... e-38
...
3F800000 = 1.0
40000000 = 2.0
40800000 = 4.0
...
7F000000 = 1.70141... e+38

Особые случаи - экспонента=0 при ненулевой мантиссе (не помню - это называется то ли underflow, то ли денормализованным числом) и экспонента=FF (число 7F800000) - это +бесконечность

По значениям мантиссы
40000000 = 2.0
40400000 = 3.0
40200000 = 2.5
40100000 = 2.25
и дальше в том же духе. Каждый следующий разряд весит вдвое меньше предыдущего.

407FFFFF = 3.99999976...

Минимальное число - 00800000 (см выше), а максимальное - 7F7FFFFF = 3.402...e38
1





Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach