Copyright © 2010 Promsite. All Rights Reserved.
стр. 2
стр. 2
P  R  O  M  S  I  T  E
Dashboard

Для отображения Облака ссылок
необходим
Adobe Flash Player 9
или выше.

№ стр.
Пробег (км)
Код
XOR
Прим.
11
10
EF FF FF
10 00 00

12
11
EE FF FF
11 00 00

13
12
ED FF FF
12 00 00

14
13
EC FF FF
13 00 00

15
14
EB FF FF
14 00 00

16
15
EA FF FF
15 00 00

17
16
E9 FF FF
16 00 00

18
17
E8 FF FF
17 00 00

19
18
E7 FF FF
18 00 00

20
19
E6 FF FF
19 00 00

табл. 1 Пробег от 0 км. до 9 км.











№ стр.
Пробег (км)
Код
XOR
Прим.
1
0
FF FF FF
00 00 00

2
1
FE FF FF
01 00 00

3
2
FD FF FF
02 00 00

4
3
FC FF FF
03 00 00

5
4
FB FF FF
04 00 00

6
5
FA FF FF
05 00 00

7
6
F9 FF FF
06 00 00

8
7
F8 FF FF
07 00 00

8
8
F7 FF FF
08 00 00

10
9
F6 FF FF
09 00 00

табл. 2 Пробег от 10 км. до 19 км.
       Смотрим табл.1 и думаем. Проехали от 0 км. до 9 км. Видим, что коде меняется только младшие 4-е разряда левого крайнего байта (выделено красным). Проехали от нуля 1 км., от F отнимаем 1, получаем Е. При пробеге следующего км. от Е отнимается очередная единица и т.д. и так до 9 км. с кодом F6. Отсюда делаем вывод, что за единицы километров отвечает именно эта часть кода. Обратим внимание, что символы 1, 2, 3, 4, 5  не используются.  Самый младший символ 6. У разработчиков кода получилась своеобразная десятично-шестнадцатеричная система счисления. 
       Теперь плавно переходим к десяткам км. табл. 2.
       Смотрим табл. 2. При смене пробега от 9 км. на 10 км. меняются старшие разряды байта на значение Е, при этом младшие разряды становятся F. И код становится равным EF. Ну и так далее до 19 км когда код станет равным E6. При появление пробега 20 км опять поменяется старший полубайт и станет равным D. И так по 99 км. включительно. Отсюда можно сделать вывод, что за пробег в десятки км. отвечает старший полубайт старшего слова (левый крайний байт).

       Как вы думаете каким будет самое последнее число в десятках километрах в шестнадцатеричном виде? Я думаю 66. А теперь обещаннное, как мысленно хорить число без пользования калькулятором и перевода в битовое представление?
Общая формула: Операнд1 XOR Операнд2 = Результат. Здесь Операнд1 - наше число, XOR - название операции, операнд2 - число на которое "хорим", Результат - то, что получим. Как правило в качестве Операнда2 будет использоваться число состоящее из символов F, например F, FF, FFFF, FFFFFF. У функции XOR есть замечательное свойство: результатом ее выполнения является дополнение до 2-го операнда. Немного непонятно? Сейчас поясню на примере: 
       2 XOR F = ? Если перевести F из шестнадцатеричного представления в десятичное, то получим число 15, т.е. 0хF = 15 (здесь не умножение 0 на F,  а просто указание на то что за символами следует число в шестнадцатеричном виде. Для десятичного представления никаких префиксов не используется). В нашем случае дополнением числа 2 будет 15 - 2 = 13. В шестнадцатеричном виде это будет число D.
Возьмем из табл.2 строку с пробегом 17 км E8. E8 XOR FF = ?. Смотрим, дополнением до 15 числа Е будет: F - E = 15 - 14 = 1, дополнением до 15 числа 8 будет: F - 8 = 15 - 8 = 7. Т.е. собираем все вместе и получаем 17. Теперь мы знаем, что Е8 XOR FF = 17. Число 17 ничего не напоминает?