Форум Енот  

Вернуться   Форум Енот > Тематический > База Знаний
Изображения All Albums Справка Пользователи Календарь Сообщения за день

База Знаний Тематика: технические вопросы, нанотехнологии, инновации
Температура кипения: низкая
Запас прочности: практический опыт
Степень защиты: жесткая модерация

Ответ
Опции темы Поиск в этой теме Опции просмотра
Непрочитано 14.07.2009, 02:35   #1
Генералиссимус
енот-старожил
 
Аватар для SoapMaker
 
Регистрация: 19.01.2007
Сообщений: 35,832
Репутация 827 [+/-]
Отправить сообщение для SoapMaker с помощью ICQ
По умолчанию вопрос наСильникам про тип Float

SoapMaker вне форума   Ответить с цитированием
Непрочитано 14.07.2009, 02:38   #2
Генералиссимус
енот-старожил
 
Аватар для SoapMaker
 
Регистрация: 19.01.2007
Сообщений: 35,832
Репутация 827 [+/-]
Отправить сообщение для SoapMaker с помощью ICQ
По умолчанию

каким макаром из 0000bc41 получается 23,5 ?

---
SoapMaker вне форума   Ответить с цитированием
Непрочитано 14.07.2009, 02:40   #3
Генералиссимус
енот-старожил
 
Аватар для SoapMaker
 
Регистрация: 19.01.2007
Сообщений: 35,832
Репутация 827 [+/-]
Отправить сообщение для SoapMaker с помощью ICQ
По умолчанию

из описания Float что нашел в тырнете

1 бит - знак, тут понятно 0 - значит положительное число

следующие 8 бит порядок числа и остальные 23 бита мантисса целая как я понимаю ?

---

так вот, как видно первые 8 бит все 0 значит порядок числа = 0

значит

M*10^0 = M*1

так каким же макаром 23,5 получается ?
SoapMaker вне форума   Ответить с цитированием
Непрочитано 15.07.2009, 21:47   #4
Наблюдатель:-)
енот-старожил
 
Аватар для АК
 
Регистрация: 02.04.2008
Адрес: г. Самара
Сообщений: 33,067
Репутация 591 [+/-]
По умолчанию Мантисы в двоичном виде

23,5
"001111000010100011111010"
25
"010000000000000000000000"
28,8
"01001001101110100101111"
__________________
Я помню....! :-(
АК вне форума   Ответить с цитированием
Непрочитано 26.09.2009, 01:12   #5
Генералиссимус
енот-старожил
 
Регистрация: 20.01.2007
Сообщений: 12,435
Репутация 356 [+/-]
По умолчанию

мантиса нормируется к числу от 0,5 до 1
и переводится в двоичное число
полученый порядок тоже двоичный
....................................
ты же все приводишь к десятичному основанию, а это не так.
если хочешь познвть как все делается сходи на васм..там тебе расскажут
__________________
еще пока даже не-распяли..
поэтому и воскрешаться не буду...
Санечка вне форума   Ответить с цитированием
Непрочитано 03.10.2009, 18:47   #6
Angel Domini
енот-старожил
 
Аватар для erik
 
Регистрация: 27.01.2007
Сообщений: 29,584
Репутация 706 [+/-]
По умолчанию

Так на вскидку вспомнил.

typedef union {
float f;
u_char c[4];
u_int32 u;
} data;

main()
{
data d;

/* ...... */

printf("floaf %f int 0x%08X char0 %x char1 %x char2 %x char4 %x",
d.f, d.u, d.c[0], d.c[1], d.c[2], d.c[3]);
}

И посмотри чё там выведеца, в цыкле.
например от d.f = 0.0 до d.f < 30.0
насколько помню, то ли 0 то ли 1-ца это магическое число 0x2f8.

Заметь, что техасовский float это не то же самое что и float intel.
erik вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +3, время: 09:32.


Email связь: admin@moemnenie.club
Художники в Instagram:
    Дарья Сетевинец         Eve_Farb Ирина Дрозд        

Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
VBSilver style released under GPL by TC
Port of subSilver released by and copyright of phpBB
Рейтинг@Mail.ru