1. Главная
  2. Библиотека
  3. Информационные технологии
  4. Необходимо перевести число 0007993388 в формат, где пер...
Решение задачи на тему

Необходимо перевести число 0007993388 в формат, где первые 3 цифры — уровень доступа, а следующие до 5 десятичных разрядов — номер объекта. Алгоритм преобразования следующий: 1. Исходное число перевести в шестнадцатеричный вид (3 байта XxYyZz). 2.

  • Информационные технологии
  • АрхитектураКомпьютеров
  • АлгоритмыИСтруктурыДанных
Необходимо перевести число 0007993388 в формат, где первые 3 цифры — уровень доступа, а следующие до 5 десятичных разрядов — номер объекта. Алгоритм преобразования следующий:
1. Исходное число перевести в шестнадцатеричный вид (3 байта XxYyZz).
2.

Условие:

Для приведения в привычный вид - это когда первые 3 цифры уровень доступа и ещё не более 5 десятичных разрядов - номер объекта, надо проделать следующие манипуляции:
переводим наш номер с брелка в шестнадцатеричный вид. Получаем 3 байта XxYyZz . Далее берём значение Xx и переводим его из шестнацетиричного в десятеричный вид, получаем число не более 255. Это и есть уровень доступа. Далее берём YyZz и так же переводим в десятичный вид.Это и есть номер объекта. Например
0010159632 -> 9B0610
9B -> 155
0610 -> 1552
В итоге это тоже самое, что обычно пишут на картах 155,1552.
Необходимо сделать так же с числом 0007993388

Решение:

Рассмотрим число с брелка: 0007993388. Сначала отбросим незначащие нули – получаем число 7993388 в десятичном виде. 1. Нужно перевести число 7993388 в шестнадцатеричный вид. При этом результат должен представлять собой 3 байта, то есть 6 шестнадцатеричных цифр, которые обозначим как Xx Yy Zz. 2. Определим первый байт Xx. Он получается как целая часть от деления числа на 65536 (так как 1 байт = 8 бит, 3 байта = 256²=65536):   Xx = целая часть от (7993388 / 65536).   Вычисляем:   65536 × 121 = 7929856,   65536 × 122 = 7995392 – это уже больше нашего числа.   Значит, Xx = 121 (в десятичном в...

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет