Bcd что это такое

Bcd что это такое

Двоично-десятичный код (англ. binary-coded decimal ), BCD, 8421-BCD — форма записи рациональных чисел, когда каждый десятичный разряд числа записывается в виде его четырёхбитного двоичного кода.

Например, десятичное число 31110 будет записано в двоичной системе счисления в двоичном коде как 1 0011 01112, а в двоично-десятичном коде как 0011 0001 0001BCD.

Описание [ править | править код ]

При помощи 4 бит можно закодировать 16 цифр. Из них используются 10. Остальные 6 комбинаций в двоично-десятичном коде являются запрещёнными. Таблица соответствия двоично-десятичного кода и десятичных цифр:

Двоично-десятичный код также применяется в телефонной связи. В этом случае кроме десятичных цифр кодируются символы ‘*’ или ‘#’, или любые другие. Для записи этих символов в двоично-десятичном коде используются запрещенные комбинации:

Преимущества и недостатки [ править | править код ]

Преимущества [ править | править код ]

  • Упрощён вывод чисел на индикацию — вместо последовательного деления на 10 требуется просто вывести на индикацию каждый полубайт. Аналогично, проще ввод данных с цифровой клавиатуры.
  • Для дробных чисел (как с фиксированной, так и с плавающей запятой) при переводе в человекочитаемый десятичный формат и наоборот не теряется точность.
  • Упрощены умножение и деление на 10, а также округление.

По этим причинам двоично-десятичный формат применяется в калькуляторах — калькулятор в простейших арифметических операциях должен выводить в точности такой же результат, какой подсчитает человек на бумаге.

Недостатки [ править | править код ]

  • Требует больше памяти.
  • Усложнены арифметические операции. Так как в 8421-BCD используются только 10 возможных комбинаций 4-битового поля вместо 16, существуют запрещённые комбинации битов: 1010(1010), 1011(1110), 1100(1210), 1101(1310), 1110(1410) и 1111(1510).

Поэтому, при сложении и вычитании чисел формата 8421-BCD действуют следующие правила:

  1. При сложении двоично-десятичных чисел каждый раз, когда происходит перенос бита в старший полубайт, необходимо к полубайту, от которого произошёл перенос, добавить корректирующее значение 0110 (= 610 = 1610 — 1010: разница количеств комбинаций полубайта и используемых значений).
  2. При сложении двоично-десятичных чисел каждый раз, когда встречается недопустимая для полубайта комбинация (число, большее 9), необходимо к каждой недопустимой комбинации добавить корректирующее значение 0110 с разрешением переноса в старшие полубайты.
  3. При вычитании двоично-десятичных чисел, для каждого полубайта, получившего заём из старшего полубайта, необходимо провести коррекцию, отняв значение 0110.

Пример операции сложения двоично-десятичных чисел:

Требуется: Найти число A = D + C, где D = 3927, C = 4856

Решение: Представим числа D и C в двоично-десятичной форме:
D = 392710 = 0011 1001 0010 0111BCD
C = 485610 = 0100 1000 0101 0110BCD

Суммируем числа D и С по правилам двоичной арифметики:

‘*’ — тетрада, из которой был перенос в старшую тетраду

‘**’ — тетрада с запрещённой комбинацией битов

В тетраду, помеченную символом *, добавляем шестёрку, так как по правилам двоичной арифметики перенос унёс с собой 16, а по правилам десятичной арифметики должен был унести 10. В тетраду, помеченную символом **, добавляем шестёрку и разрешаем распространение переноса, так как комбинация битов 1101 (что соответствует десятичному числу 13) является запрещённой.

Читайте также:  Msi click bios 5 инструкция

Другие системы кодирования [ править | править код ]

В системе кодирования «2 из 5» [en] одна десятичная цифра кодируется 5 битами, из которых 2 бита установлены в 1, а 3 бита — в 0, что даёт ровно 10 комбинаций. Такая система обеспечивает лучшее обнаружение ошибок, поскольку изменение одного бита всегда даст недопустимую комбинацию; также всегда обнаруживаются однонаправленные изменения (несколько изменений 0→1 или 1→0). Кодирование «2 из 5» использовалось в компьютерах серий IBM 7070, IBM 7072 и IBM 7074; также применяется в некоторых странах для маркирования почты штрих-кодом.

Уплотнённые десятичные числа [en] позволяют разместить 3 десятичные цифры в 10 битах (2 10 =1024 комбинации, что достаточно для 3 десятичных цифр), причём кодирование устроено так, что преобразование между 10-битным кодом и тремя отдельными десятичными цифрами можно осуществить с помощью простой и быстрой логической схемы. Такое кодирование используется в десятичных числах с плавающей запятой, описанных в стандарте IEEE 754-2008.

Установка и загрузка ОС Виндовс

Восстановление файла конфигурации загрузки (BCD)

Файл BCD (Boot Configuratin Data) – преемник загрузочного файла boot.ini , начиная с Windows Vista. Он содержит информацию о загрузчиках операционных систем и их параметрах, доступных на компьютере. Файл BCD находится в активном разделе, в папке boot. В случае его удаления, повреждения или неправильной настройки – операционная система (ОС) перестаёт загружаться.

Редактирование файла BCD

На пользовательском уровне , файл BCD создаётся и редактируется менеджером загрузочных записей EasyBCD. У программы – интуитивно понятный интерфейс и бесплатная, свободно распространяемая лицензия. Качается русская версия EasyBCD без проблем из Интернета. Программа постоянно обновляется, выкладывать здесь нет смысла.

EasyBCD — Восстановление файла конфигурации загрузки (BCD)

После установки и запуска EasyBCD остаётся нажать по-очерёдно кнопки «Добавить запись» и «Редактировать меню загрузки», и – указать расположение дисков своих операционных систем, если их несколько. Остальное, прога сделает сама – создаст или отредактирует файл BCD, в самом лучшем виде. Если BCD ОС уже «убит» и система не грузится, тогда портабл-версия EasyBCD запускается из-под Live-CD с WinPE, или что-нить в этом роде. Независимо от того, откуда была запущена EasyBCD, она создаст правильный файл BCD и запишет его по месту назначения – в папку boot системного раздела (зарезервированного системой). Единственно, за чем нужно следить внимательно – это буквы-метки логических дисков месторасположения ОС. Иногда, они не совпадают. Почему? EasyBCD его знает. Видимо, зависит от сборки Виндовс.

Прим. Иногда, EasyBCD отображает всё правильно, но система не грузится. Как вариант – удалить записи про операционные системы в файле BCD и создать новые. Алгоритм не меняется: «Редактировать меню загрузки», кнопка «Удалить запись», дальше – кнопка «Добавить запись». Всё.

Любителям правильного администрирования компьютера:
Источник: Данные конфигурации загрузки – BCD

Для восстановление или пересоздания файла BCD – загружаемся с дистрибутива Windows, выбираем язык и открываем командную строку Shift+F10.

Если восстанавливаем BCD на RAID, то проходим дальше в процедуре установки ОС до момента, когда установщику появится возможность передать драйвера RAID контроллера. Когда контроллер определён и RAID опознан появятся разделы.

Читайте также:  Просмотр скрытой информации вконтакте

Проверить доступность дисков и файлов на них можно запустив notepad.exe и использовать его как файловый менеджер через Файл — Открыть (Ctrl+O). Кстати, на этом этапе дозволяется скопировать на флэшку важную информацию с повреждённого диска, используя для этого навигацию по папкам и комбинацию Ctrl+C и Ctrl+V.

Пробуем восстановить BCD файл автоматически:
bootrec /RebuildBCD
Если это не помогло, то создаём BCD файл заново с помощью BCDEdit[2]:

Cоздаём пустой файл,
добавляем (импортируем) его,
создаём запись для диспетчера загрузки bootmgr (приемник ntldr до Windows Vista),
указываем, что он будет отвечать за загрузку
указываем время ожидания при выборе ОС
создаём запись в списке доступных ОС

  1. bcdedit /createstore bcd
  2. bcdedit /import bcd
  3. bcdedit /create
  4. bcdedit /set device boot
  5. bcdedit /timeout 10
  6. bcdedit /create /d "Windows 2012" /application osloader

После выполнения последней команды программа вернёт глобальный уникальный идентификатор диска (GUID), который используем для определения записи по-умолчанию, т.е. та ОС, которая будет загружаться когда выйдет время ожидания загрузчика.
bcdedit /default < >
Если мы не уверены на каком томе у нас находится ОС, то ищем папку Windows, перебирая диски: C:dir, D:dir, E:dir или открыв notepad.exe как описано выше. Обычно, системная папка называется Windows и находится она на томе (диске) D. В работающей ОС этот том обозначен буквой С, т.к. первый раздел, который сейчас определился как С, обычно скрыт, помечен как "System Reserved" и не имеет буквы, чтобы не быть доступным для пользователя.

Определяем параметры созданной записи

  1. bcdedit /set device partition=d:
  2. bcdedit /set pathwindowssystem32ootwinload.exe
  3. bcdedit /set osdevice partition=d:
  4. bcdedit /set systemroot Windows
  5. bcdedit /set detecthal yes

Закрываем список ОС
bcdedit /displayorder /addlast
На этом всё. Перезагружаем компьютер и загружаемся в штатном режиме.

Windows не загружается, или как восстановить файл BCD на MBR в Windows?

Менеджер загрузки в современных ОС Windows для загрузки оной использует специальный файл BCD (Boot Configuration Data – он же файл данных конфигурации загрузки). В файле содержится информация об установленных системах и параметрах загрузки для каждой из них (если их несколько):

Если BCD повреждён и информация в файле не читается, Windows не загрузится. На фоне этого сразу после включения компьютера пользователь, скорее всего, видит сообщение от менеджера загрузки примерно следующего содержания:

Первое, что приходит на ум в этом случае, так это следовать инструкциям менеджера восстановления загрузки, полагаясь на его возможности. С этим он часто справляется сам (просто не все из нас умеют выжидать и умело этим инструментом пользоваться). Но, если вы столкнулись с повторяющейся проблемой

давайте попробуем воссоздать BCD файл вручную с нуля. Ещё раз повторюсь – эта схема применима на компьютерах с таблицей MBR. Для UEFI (GPT) написана другая статья. Здесь я показываю процесс для Windows 7, но для других, более новых версий вся информация также актуальна.

У Windows режим загрузки UEFI вместо Legacy? Вам в статью Как восстановить загрузчик EFI?

Что нам понадобится?

  • Загрузочное устройство с Windows под рукой
  • Прямые руки
Читайте также:  Маршрутизатор в режиме точки доступа

Пробуем восстановить BCD на MBR автоматически

  • из компьютера вынимаем все лишние флешки и удаляем прочие не принимающие в работе устройства с USB-интерфейсом
  • загружаемся с флешки/диска с Windows
  • через Shift + F10 выходим на командную консоль cmd

  • попробуйте восстановить файл автоматически с помощью специально на то утилиты командой:
  • перезагружайтесь в свою копию Windows…

  • и проверяйте, не прокатило ли. Если нет…

Пробуем восстановить BCD на MBR вручную

Снова используем загрузочную Windows, выходя на ту же консоль, в которой…

  • …проверяем список дисков и разделов командами:

Синтаксис дальнейших команд зависит от того, на сколько разделов разбит ваш жёсткий диск и каким “макаром” устанавливалась система. Дело в том, что обычно ещё перед установкой любая копия Windows сразу просит пользователя отщипнуть кусок 100-700 Мб для создания резервного раздела (он же Зарезервированный, и он же помечен в Diskpart как диск С) на случай восстановления после повреждения системных файлов. При этом присваиваемые разделам буквы утилитой Diskpart отличаются от привычных в Проводнике Windows. Так что с буквами к томам на период работы с BCD лучше сразу привыкнуть и запомнить их. Если вы не профессионал и боитесь запутаться в разделах – запишите их и размеры томов.

  • покидаем Diskpart командой
  • в освободившемся окне cmd создаём ссылки на загрузчик и загрузочный сектор:

  • убиваем повреждённый файл BCD за ненадобностью:

где с – буква Зарезервированного раздела. Сразу создадим на том же диске пустой, временный файл bcd.temp:

  • в нём для менеджера загрузки системы создадим точку входа bootmgr:

  • всё это дело из файла bcd.temp переносим в BCD:
  • закрепим загрузчик на диске С (пусть он так и останется настоящим, Зарезервированным разделом), откуда Windows загружалась ранее и будет продолжать загружаться:

  • пока мы тут, можно изменить время ожидания загрузки, выставив, скажем, 5 сек.:
  • временный bcd.temp нам более не нужен; от него избавляемся:
  • Таким образом, у вас появился новый файл с работоспособными параметрами загрузки. Время добавить строчки входа для всех версий Windows, которые были до того установлены. Если это одна Windows, то и следующую команду можно ввести в единственном экземпляре:

Если всё сделано правильно, утилита должна вернуть уникальный GUID идентификатор загрузчика на манер:

Запись была создана успешно.

  • Давайте прикажем загрузчику использовать этот вход в качестве системы по умолчанию (не промахнитесь в символах, чтобы не было ошибки Указана недопустимая запись по умолчанию):
  • Это ещё не всё. Загрузчик на месте, но системные файлы-то остались на другом диске (специально созданные разделы, где вы хранили ТОЛЬКО пользовательские данные – не в счёт). Я так понимаю, это, скорее всего, диск D (у меня, впрочем, это диск Е). На него загрузчику нужно обязательно показать. С оглядкой на нужную букву вводим команды по порядку:
  • Точка входа по умолчанию скрыта, так что давайте сделаем её видимой для наших глаз:
  • перезагружаемся прямо из консоли:

Вот и всё. Закрывайте консоль и грузитесь в свою копию Windows. Сразу позволю себе напомнить, что после успешной загрузки в Windows лучше задаться вопросом о причинах, вызвавших повреждение BCD.

Ссылка на основную публикацию
Adblock
detector