Принцип формирования и передачи тестового файла
Формирование тестового файла (расширение .txt) в виде цифровых символов числа можно выполнить с помощью стандартных программ редактирования бинарных файлов (HEX-редакторов):
- beye (для всех операционных систем, свободная программа);
- hiew (для DOS, Microsoft Windows, Windows NT);
- WinHex (для Windows).
Для наглядного представления формирования двоичного файла он разбивается на куски равного размера, представляемые в виде чисел, записываемых, обычно, в шестнадцатеричной системе, иногда в восьмеричной, двоичной или десятичной. Означенный размер куска может быть равен одному октету, а также двум или четырём (в случае разбиения на куски по несколько октетов применяется порядок байтов, принятый на используемой платформе). Зависимость диапазона представляемых чисел от размера куска показана в таблице 4.
Октетов |
Бит |
Шестнадцатеричное |
Восьмеричное |
Десятичное беззнаковое |
Десятичное знаковое |
1 |
8 |
00…FF |
000…377 |
0…255 |
-128…127 |
2 |
16 |
0000…FFFF |
000000…177777 |
0…65535 |
-32768…32767 |
4 |
32 |
00000000…FFFFFFFF |
00000000000…37777777777 |
0…4294967295 |
-2147483648…2147483647 |
Нередко, помимо числовых значений байт, выводятся так же символы кодовой стра-ницы, например ASII. Нижеследующий пример показывает т.н. классический дамп (поок-тетное шестнадцатеричное представление по 16 октетов в строке, с печатными ASII- сим-волами справа) начала PNG-файла логотипа Википедии:
00000000 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 |.PNG........IHDR|
00000010 00 00 00 87 00 00 00 a0 08 03 00 00 00 11 90 8f |................|
00000020 b6 00 00 00 04 67 41 4d 41 00 00 d6 d8 d4 4f 58 |.....gAMA.....OX|
00000030 32 00 00 00 19 74 45 58 74 53 6f 66 74 77 61 72 |2....tEXtSoftwar|
00000040 65 00 41 64 6f 62 65 20 49 6d 61 67 65 52 65 61 |e.Adobe ImageRea|
00000050 64 79 71 c9 65 3c 00 00 03 00 50 4c 54 45 22 22 |dyq.e<....PLTE""|
00000060 22 56 56 56 47 47 47 33 33 33 30 30 30 42 42 42 |"VVVGGG333000BBB|
00000070 4b 4b 4b 40 40 40 15 15 15 4f 4f 4f 2c 2c 2c 3c |KKK@@@...OOO,,,<|
00000080 3c 3c 3e 3e 3e 3a 39 39 04 04 04 1d 1d 1d 35 35 |<<>>>:99......55|
00000090 35 51 50 50 37 37 37 11 11 11 25 25 25 0d 0d 0d |5QPP777...%%%...|
000000a0 27 27 27 1a 1a 1a 38 38 38 2a 2a 2a 08 08 08 20 |'''...888**... |
000000b0 20 20 17 17 17 2e 2e 2e 13 13 13 bb bb bb 88 88 | ..............|
Для расчета значений числа с большим количеством знаков после запятой можно воспользоваться формулой Саймона Плаффа: