Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];

Вниз

4 байтная форма представления вещественных чисел   Найти похожие ветки 

 
appendix ©   (2004-08-17 20:21) [0]

Может кто сталкивался с такой формой представления
вещественных чисел четырьмя байтами?

число         код

0 0    0    0    0
0.001 111  18   131  58
0.002 111  18   3    59  

0.010 10   215  35   60
0.011 88   57   52   60
0.012 166  155  68   60

0.020 10   215  163  60
0.021 49   8    172  60
0.022 88   57   180  60

0.100 205  204  204  61  
0.110 174  71   255  61
0.120 143  194  245  61

0.200 205  204  76   62
0.210 61   10   87   62

1.000 0    0    128  63
1.001 197  32   128  63
1.002 137  65   128  63
1.003 78   98   128  63

1.010 174  71   129  63
1.011
1.020 92   143  130  63

1.090  31   133  139  63
1.100 205  204  140  63
1.101 245  237  140  63
1.102

1.200 154  153  153  63

2.000 0    0    0    64
2.100 102  102  6    64
3 0    0    64   64
4 0    0    128  64
5 0    0    160  64
6 0    0    192  64
7 0    0    224  64

9 0    0    16   65
10 0    0    32   65
11 0    0    48   65

99 0    0    198  66
100 0    0    200  66
101 0    0    202  66

1000 0    0    122  68
1001    0    64   122  68

0.213 119  206  94   68
Какая то логика в этом есть но какая?


 
TUser ©   (2004-08-17 20:29) [1]

Ты запиши представление в двоичном виде. Потом постарайся понять, где мантисса, а где остальное.


 
appendix ©   (2004-08-17 20:51) [2]

пробовал получается лажа


 
GEN++ ©   (2004-08-17 21:18) [3]

Похожий формат имеет Basic


 
ламер ©   (2004-08-17 21:22) [4]

Single + F1.


 
Тестировщица ©   (2004-08-17 21:50) [5]

ламер ©   (17.08.04 21:22) [4]  + небольшой пример, без претензий на оптимальность -)


procedure TForm1.Button2Click(Sender: TObject);
var
b:packed array[0..3] of byte;
begin
   b[0]:=strtoint(Edit1.text);  // 0
   b[1]:=strtoint(Edit2.text);  // 64
   b[2]:=strtoint(Edit3.text);  // 122
   b[3]:=strtoint(Edit4.text);  // 68
Label1.Caption:=FloatToStr(PSingle(@b[0])^) //1001
end;



 
default ©   (2004-08-17 22:27) [6]

протестировала


 
Digitman ©   (2004-08-18 08:24) [7]


> appendix ©   (17.08.04 20:51) [2]


оч похоже на формат представления чисел с ПЗ, используемый, например, семейством 16-разр. процессоров фирмы DEC


 
appendix ©   (2004-08-18 16:53) [8]

Всамом деле ответы [4]и [5] очень мне понравились. Спасибо.
Но только объясните как вы до этого додумались поподробней.
Что такое single + F1 ?


 
default ©   (2004-08-18 16:57) [9]

appendix ©   (18.08.04 16:53) [8]
никакой "магии"
просто 4 байта занимает тип Single, потом они проверили эту дагадку приёмом навроде [5] и всё, просто повезло что этот формат оказался Single-ом...


 
Тестировщица ©   (2004-08-18 17:19) [10]

http://www.delphikingdom.ru/asp/viewitem.asp?UrlItem=/helloworld/reals.htm



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.034 c
1-1092729700
velial
2004-08-17 12:01
2004.09.05
хитрый Grid


1-1092848545
Holls
2004-08-18 21:02
2004.09.05
Thread creation error


3-1091679619
RDen
2004-08-05 08:20
2004.09.05
не выполняется запрос по полю с названием DATE


1-1092740362
C55
2004-08-17 14:59
2004.09.05
класс TString


14-1092920078
syte_ser78
2004-08-19 16:54
2004.09.05
Кто готво сделать один щелчок мыщью за спасибо?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский