Въздушен въпрос

Разглеждате архива на форума.

Автор: Максим ()
Дата: 26/04/2005 15:45


Има номер в плуващ формат.
На индикатора се показва като 1.23232 и т.н. 15 знака след
запетая.

Въпрос:
Възможно ли е за тази разширена стойност обратно
възстановете числото да плава, така че байтовете в оригиналния номер
съвпадна с байтовете в възстановените и така беше за всеки
числа?

Автор: bzx ()
Дата: 26/04/2005 16:13

един. Има номер в плуващ формат. Той се показва на индикатора като 1.23232 и
и т.н. 15 знака след десетичната запетая.

За показване на числа с точност до 15 цифри след запетая, плаващият формат не е
ще го направя. Нуждаете се от двоен 64bit.

2. Въпрос: Възможно ли е да възстановите номера обратно от тази разширена стойност
в плувка, така че байтовете в оригиналния номер да съвпадат с байтовете в възстановените и
това беше случаят за всякакви числа?

Неясен. Въвеждате стойности от клавиатурата?

Автор: WDT ()
Дата: 26/04/2005 16:14

Така че 1.23232 вече е изглед с фиксирана точка. Като цяло, когато отиваш
точността вече е необратимо загубена. И загубеното не може да се върне:).

Автор: Максим ()
Дата: 26/04/2005 16:23

всъщност въпросът е:
възможно ли е да конвертирате от плувка в текст и обратно без загуба
прецизност за всякакви числа?

Броят на показаните символи е ограничен до 15 или колко
необходимо, но разбира се.

Автор: Максим ()
Дата: 26/04/2005 16:28

> 2. Въпрос: Възможно ли е за тази разширена стойност
обратно
> номер за възстановяване
> в плувка, така че байтовете в оригиналния номер да съвпадат
байта
> в възстановен и
> това беше случаят за всякакви числа?

> Не е ясно. Въвеждате стойности от клавиатурата?

така да бъде:
има устройство с индикатор.
на него се показва число с плаваща запетая, с максимум
точност, не знам колко е за float, например 10 знака.
Мога ли недвусмислено да възстановя стойността с този номер
плуват до малко, т.е. така че да получа 4 байта същите
както в устройството, преди да се покаже на индикатора?

Автор: bzx ()
Дата: 26/04/2005 16:39

от форматът на дисплея на индикатора и форматът на числата са различни - включен
индикаторът е десетичен, а в float е двоичен, т.е. минимална грешка на такива
преобразуване 2 бита.

Автор: Максим ()
Дата: 26/04/2005 16:42

Автор: bzx ()
Дата: 26/04/2005 16:44

грешката ще бъде log2 (10) бита

Автор: WDT ()
Дата: 26/04/2005 17:02

Няма значение какво представяне имат числата: двоично или двоично-десетично, като
и на какъв тип дисплей се показва всичко. От седем или повече сегмента всичко е възможно
възстановете се без загуба. Това не е проблемът. По време на преобразуването се появяват загуби
плувка, за да се поправи например за числа близо до 0. Така че 1.234567 E-20 =
0,00000000000000000001 за 20 фиксирани знака. Ясно е, че загуби могат да възникнат при всеки
фиксираща дължина?

Автор: bzx ()
Дата: 26/04/2005 17:09

Вие си противоречите: кажете, че форматът на презентацията и форматът на показване
не е важно, но в същото време твърдите, че има загуби от преобразуване. Вие
решете сами: има ли загуби по време на трансформацията.

Автор: Бил ()
Дата: 26/04/2005 17:10

точността на числата е 6 знака след десетичната запетая. Тези. номер 1.234567 все още може да бъде
да образоваш. И число, да речем 1.23456789, вече не може да бъде представено. Ще бъде закръглено.
За по-голяма точност (до 15 десетични цифри) трябва да използвате двойния тип.

Автор: WDT ()
Дата: 26/04/2005 17:18

Веднага бях решен: проблемът не е в показването на номера - между другото, можете
дисплей както в старите дни - със светодиоди в двоична форма:). Ще се повторя за трети път -
проблемът със загубата на прецизност е свързан с механизма за преобразуване само на числа с
с плаваща запетая към фиксирана. Това е основен момент. Може да строи
логиката не работи в двоична система - но тези загуби ще останат.
И всички ограничения са, че плаващият тип не може да бъде 15 знака. Това сте вие ​​от