powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Подскажите формат или ссылочку, по сохранению чисел с плавающей точкой, в памяти
14 сообщений из 14, страница 1 из 1
Подскажите формат или ссылочку, по сохранению чисел с плавающей точкой, в памяти
    #32652280
Invisible
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос наверное слегка не понятен - объясню на примере.
Переменная типа Byte - размер 1 байт от 0 до 255
Переменная типа Word - размер 2 байта старший байт умножаем на 256 + младший байт - получаем значение от 0 до 65535
Переменная типа Long - размер 4 байта .... там первый второй байты умножаем, делим, выбираем первые, вторые, десятые, двадцатые биты и т. п. - получаем десятичное целое число.

Интересует формат записи Single (который в 4 байта влазит). Хелп?
...
Рейтинг: 0 / 0
Подскажите формат или ссылочку, по сохранению чисел с плавающей точкой, в памяти
    #32652297
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А самому посмотреть не судьба?
...
Рейтинг: 0 / 0
Подскажите формат или ссылочку, по сохранению чисел с плавающей точкой, в памяти
    #32652306
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Подскажите формат или ссылочку, по сохранению чисел с плавающей точкой, в памяти
    #32652704
Invisible
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowА самому посмотреть не судьба?

А где можно посмотреть более детально? Биты увеличиваются вправо или влево (где старши, где младший) Знак 0 или 1. И т.д.
...
Рейтинг: 0 / 0
Подскажите формат или ссылочку, по сохранению чисел с плавающей точкой, в памяти
    #32652793
nik_x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну во первых это зависит от архитектуры процессора.
Во вторых google рулит ; например: http://www.math.byu.edu/~schow/work/IEEEFloatingPoint.htm
И в третьих, а на хрен? Есть ведь стандартные фунуции по преобразованию чисел с плавоющей точкой...
...
Рейтинг: 0 / 0
Подскажите формат или ссылочку, по сохранению чисел с плавающей точкой, в памяти
    #32653044
Invisible
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
174 26 0 0

Люди, как из этих четырех байт получить 18,05? Ну никак не получается

42 5 0 0

А за этим кроется 3,49.
...
Рейтинг: 0 / 0
Подскажите формат или ссылочку, по сохранению чисел с плавающей точкой, в памяти
    #32653337
Processor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитай про нормализацию мантиссы...
...
Рейтинг: 0 / 0
Подскажите формат или ссылочку, по сохранению чисел с плавающей точкой, в памяти
    #32653360
Processor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задай Google'у запрос:
нормализация чисел с плавающей
- и он выдаст сотню ссылок. Например:
Материалы для подготовки к устной итоговой аттестации по информатике в 11-м классе
...
Рейтинг: 0 / 0
Подскажите формат или ссылочку, по сохранению чисел с плавающей точкой, в памяти
    #32653367
Invisible
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нормализованная мантисса должна быть меньше единицы и первая значащая цифра - не ноль. Порядок - тоже понятен.

Но не выходит каменный цветок!

Причем эти числа и отрицательными-то не могут быть. Так что может есть еще какой алгоритм????
...
Рейтинг: 0 / 0
Подскажите формат или ссылочку, по сохранению чисел с плавающей точкой, в памяти
    #32653478
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор42 5 0 0
А за этим кроется 3,49.
У меня для 3.49 получается другое:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
procedure TForm1.G;
type tsingleb = record
                 case integer of
                    0  : (r : single);
                    1  : (a1,a2,a3,a4 : byte);
                end;
var a : tsingleb;
begin
  a.r :=  3 . 49 ;
  Panel1.Caption := format('%4d%4d%4d%4d', [a.a1,a.a2,a.a3,a.a4])
end;

41 92 95 64

но уж раскодировать все эти биты, извини :)
...
Рейтинг: 0 / 0
Подскажите формат или ссылочку, по сохранению чисел с плавающей точкой, в памяти
    #32653492
Invisible
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это тип Float. (Мне так кажется)

Диапазон Single 1.5e-45..3.4e38
в то время как Float -3.4e-38..+3.4e+38

Возможно в этом разница, но я не уверен. У меня у самого задача - найти алгоритм перевода 4 байт в десятичное число.
...
Рейтинг: 0 / 0
Подскажите формат или ссылочку, по сохранению чисел с плавающей точкой, в памяти
    #32653537
Invisible
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Беру число 49,22 - он имеет следующие 4 байта 197 22 0 0. Проверяю
49 это 110001
22 это 10110
получается 110001,10110

нормализую: 0,11000110110
Мат. порядок 6 то есть 110 в двоичной

поскольку порядок занимает 7 бит (от 0 до 127) и в математическом смысле может принимать значения от -64 до 63. То делаю преобразование:

Машин. порядок = (Мат. порядок) + 64

64 в двоичной 100000

Получаю Маш. порядок: 100000+110=100110

Записываю в формате: 1бит-знак, 7бит маш.порядок, нормализ. мантисса.

01001101 10001101 10
77 142 128

Это совсем не тот результат!!! Что не правильно???? пАмАгИтЕ пожалуйста.
...
Рейтинг: 0 / 0
Подскажите формат или ссылочку, по сохранению чисел с плавающей точкой, в памяти
    #32656419
Invisible
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это вырезка из статьи на сайте http://uchebnik1.narod.ru/chislo.html

Подскажите - по каким правилам он перевел дробную часть&&&

Теперь мы можем записать внутреннее представление числа 25,324 в форме с плавающей точкой.
Переведем его в двоичную систему счисления с 24 значащими цифрами.
25,324(в10)= 11001,0101001011110001101(в2)
...
Рейтинг: 0 / 0
Подскажите формат или ссылочку, по сохранению чисел с плавающей точкой, в памяти
    #32658787
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЭто тип Float. (Мне так кажется)
Диапазон Single 1.5e-45..3.4e38
в то время как Float -3.4e-38..+3.4e+38

в примере - single
Код: plaintext
1.
2.
3.
4.
record
   case integer of
       0  : (r : single);
       1  : (a1,a2,a3,a4 : byte);
end;

авторБеру число 49,22 - он имеет следующие 4 байта 197 22 0 0. Проверяю
49 это 110001
22 это 10110
получается 110001,10110

Ошибка в преобразовании дроби. Да, 22 равно 10110, но 0.22 не равно 0.10110. Посмотрите где-нибудь как переводятся дроби.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Подскажите формат или ссылочку, по сохранению чисел с плавающей точкой, в памяти
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]