Как Перевести Число из Одной Системы Счисления в Excel • Подписи к слайдам
Программирование на C, C# и Java
Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы
ОСТОРОЖНО МОШЕННИКИ! В последнее время в социальных сетях участились случаи предложения помощи в написании программ от лиц, прикрывающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в посторонних группах ВК. Для связи с нами используйте исключительно эти контакты: vscoderu@yandex.ru, https://vk.com/vscode
Двоичная система счисления: как переводить, как реализовать на C и C#
Что такое двоичная система счисления?
Переводом исходного кода какого-либо языка программирования в машинный код занимается компилятор.
Алгоритм перевода в двоичную систему счисления из десятеричной.
Теперь рассмотрим алгоритм перевода каких-либо чисел из стандартной, десятеричной системы счисления в двоичную.
Итак, например, у нас имеется число 12 в десятеричной системе счисления, давайте переведем его в двоичную. Можно сделать это несколькими формами записи, кому как удобно.
Рассмотрим первый вариант. Он будет похож на несколько видоизменённое деление в столбик, и выглядеть будет вот так:
Теперь разберём, что тут написано. Сначала мы, как и в делении в столбик, пишем число, которое мы хотим делить (12), и число, на которое делим (в двоичной системе счисления это всегда 2).
12, делённое на 2 без остатка будет равно 6. Записываем это как положено в делении в столбик.
Итак, теперь стоит сказать самое главное о переводе чисел из десятичной системы счисления в двоичную: если число делится на двойку без остатка, то мы пишем ноль, если с остатком — единицу.
Рассмотрим это правило поподробнее. Мы уже сказали, что 12 / 2 =6. Остатка у нас нет. Значит мы пишем ноль. В данном методе разбора мы пишем его под цифрой 6.
Кусочек двоичного кода мы уже получили. Вычисляем дальше.
Теперь мы делим 6 на 2. Получается 3, и опять деление прошло без остатка — опять мы пишем, уже под тройкой, ноль.
Теперь делим 3 на 2. На этот раз мы понимаем, что получается ответ с остатком — 1 и 0.5. Если происходит такое, то мы откидываем полученный остаток и делим полученное число без остатка на два, при этом подписываем ниже единицу.
Мы поделили наше число 12, и у нас получилась последовательность: два нуля и две единицы. Однако это ещё не всё. Последний аспект, который надо запомнить — мы считываем двоичное число снизу вверх .
Поэтому мы считаем нашу последовательность «с конца», и у нас получается число 1100. Это и есть ответ.
Теперь давайте рассмотрим вторую форму записи такого деления. Она менее громоздка, но по сути является той же самой формой деления.
Здесь мы просто делим получаемые числа на два через черту, и, если частное получается без остатка, через тире пишем 0, если с остатком — 1. Опять же не забываем округлять числа с остатком в меньшую сторону, делить последнюю единицу на двойку и считывать последовательность в обратном порядке.
Реализация перевода числа из десятичной системы счисления в двоичную на языке C#
Реализация перевода десятичного числа в двоичное в C# невероятно проста и понятна. Отвечает за эту реализацию метод Convert.ToString, и выглядеть это будет вот так:

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

Правила перевода из одной системы счисления в другую.
-
Например:
- Двоичная — позиционная система счисления с основанием 2.
- Четверичная — позиционная система счисления с основанием 4.
- Пятиричная — позиционная система счисления с основанием 5.
- Восьмеричная — позиционная система счисления с основанием 8.
- Шестнадцатиричная — позиционная система счисления с основанием 16.
Для разработки представленного в этой работе приложения, первоначально необходимо было реализовать процесс правильного перевода чисел по вышеуказанным правилам в двоичной системе счисления, а потом расширить диапазон оснований систем счислений до 16.
| 10 с/с | 2 с/с | 8 с/с | 16 с/с |
| 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 2 | 10 | 2 | 2 |
| 3 | 11 | 3 | 3 |
| 4 | 100 | 4 | 4 |
| 5 | 101 | 5 | 5 |
| 6 | 110 | 6 | 6 |
| 7 | 111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
| 16 | 10000 | 20 | 10 |

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








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