Как преобразовать десятичное число в двоичное в C

Kak Preobrazovat Desaticnoe Cislo V Dvoicnoe V C



Компьютерные системы часто используют двоичные числа для представления данных и инструкций, но, поскольку людям проще понять десятичные цифры, чем двоичные, следовательно, требуется преобразование. В этой статье мы рассмотрим преобразование десятичных знаков в двоичные и предоставим примеры программ различных методов преобразования десятичных знаков в двоичные на языке программирования C.

Как преобразовать десятичное число в двоичное в C?

Данное десятичное значение делится на 2 несколько раз, а остаток записывается до тех пор, пока мы не получим 0 в качестве окончательного частного. Этот процесс используется для преобразования целых чисел из десятичной в двоичную. Формула, демонстрирующая процесс преобразования десятичной системы в двоичную, считается состоящей из следующих этапов:







Шаг 1: Найдите остаток, разделив число на 2, а затем добавьте его в массив.



Шаг 2: Далее разделите остаток на два.



Шаг 3: Выполните первые два шага снова, пока результат не превысит 0.





Шаг 4: Отобразите массив в обратном порядке, чтобы получить двоичную форму числа. Наименьший значащий бит (LSB) двоичного числа находится вверху, а старший бит (MSB) — внизу, что является еще одним способом интерпретации этого. Это двоичный эквивалент предоставленного десятичного числа.

Чтобы лучше понять это, вот преобразование 11 10 в десятичном преобразовании в двоичное:



Разделение на 2 частное Остаток
11÷2 5 1 (младший разряд)
5 ÷ 2 2 1
2-2 1 0
1-2 0 1 (старший бит)


Теперь запишите остаток в обратном порядке, следовательно, десятичный (11 10 ) становится (1011 2 ).

Остаток будет отмечен, а затем записан так, чтобы (СЗБ) двоичного числа стоял первым, а затем остальные. Следовательно, 1011 2 является двоичным эквивалентом данного десятичного значения 11 10 . В результате 11 10 = 1011 2 . Ниже приведена реализация вышеупомянутого десятичного преобразования в двоичное на языке C.

Методы, используемые для преобразования десятичного числа в двоичное

Эти методы, которые используются в языке C, преобразуют десятичные цифры в двоичные:

Теперь реализуйте преобразование десятичных чисел в двоичные по одному с помощью вышеупомянутых подходов.

Метод 1: преобразование десятичного числа в двоичное в программировании на C с использованием цикла for

Ниже приведено преобразование десятичной цифры (11) в двоичную с помощью цикла for в C:

#include
недействительное преобразование ( целое число1 ) {
если ( число1 == 0 ) {
printf ( '0' ) ;
возвращаться ;
}
int двоичный_номер [ 32 ] ; // Предполагая 32 битовое целое.
инт я '=' 0 ;
для ( ;число1 > 0 ; ) {
двоичный_номер [ я++ ] = число1 % 2 ;
число1 / '=' 2 ;
}
для ( интервал j = я- 1 ; Дж > '=' 0 ; j-- )
printf ( '%д' , двоичное_число [ Дж ] ) ;
}
внутренний основной ( ) {
целое число1;
printf ( 'Введите десятичное число:' ) ;
сканф ( '%д' , & число1 ) ;
конвертировать ( число1 ) ;
возвращаться 0 ;
}


Вышеприведенная программа использует цикл for для преобразования десятичного числа, предоставленного пользователем, в двоичное. Результат:

Метод 2: преобразование десятичного числа в двоичное в программировании на C с циклом while

В этом методе цикл while в C используется для преобразования десятичной цифры (11) в двоичную, как показано ниже:

#include
внутренний основной ( ) {
целое десятичное_число, двоичное_число = 0 , база = 1 , остаток;
printf ( 'Введите десятичное число:' ) ;
сканф ( '%д' , & десятичное_число ) ;
пока ( десятичное_число > 0 ) {
остаток = десятичное_число % 2 ;
двоичное_число = двоичное_число + остаток * база;
десятичное_число = десятичное_число / 2 ;
база = база * 10 ;
}
printf ( «Двоичный код заданного десятичного числа с циклом while: %d» , двоичное_число ) ;
возвращаться 0 ;
}


Сначала в этой программе объявляются четыре целочисленные переменные decimal_num, binary_num, base и rest. Пользователь вводит decimal_num, который мы преобразуем в его binary_num. Двоичное преобразование выполняется с помощью цикла while.

Метод 3: преобразование десятичного числа в двоичное в программировании на C со стеком

Это простой метод со стековой программой C, которая изменяет десятичное значение на двоичное:

#include

#define MAX_SIZE 32 // максимальное количество битов в двоичном представлении
внутренний основной ( ) {
целое десятичное_число, двоичное [ MAX_SIZE ] , верх = -1 ;
printf ( 'Пожалуйста, введите любое десятичное число:' ) ;
сканф ( '%д' , & десятичное_число ) ;
пока ( десятичное_число > 0 ) {
бинарный [ ++верх ] = десятичное_число % 2 ;
десятичное_число / '=' 2 ;
}
printf ( 'Двоичный файл %d с использованием метода стека: ' ) ;
пока ( вершина > '=' 0 ) {
printf ( '%д' , двоичный [ вершина-- ] ) ;
}
возвращаться 0 ;
}


Сначала мы объявляем в этой программе три целочисленные переменные top, binary и decimal_num. Top — это индекс самого высокого элемента в стеке, decimal — это число в десятичной форме, которое вводит пользователь, binary — это массив, который будет содержать биты в двоичном виде как биты MAX_SIZE, а decimal_num — это двоичный массив. После этого выполняется бинарное преобразование с помощью цикла while.

Результат:

Метод 4: преобразование десятичного числа в двоичное в программировании на C с побитовым оператором

Оператор, известный как побитовая операция, манипулирует каждым из битов двоичных символов, представляющих целые числа. Ниже приведен базовый сценарий C, который использует побитовые операции для преобразования десятичного числа в двоичное:

#include

// Этот метод покажет все 4 биты числа
недействительное преобразование ( целое число1 ) {
// Рассмотрим 4 -битное число
для ( я = 3 ; я > '=' 0 ; я-- ) {
бит бит = ( 1 << я ) ;
если ( число1 & кусочек )
printf ( '1' ) ;
еще
printf ( '0' ) ;
}
}
внутренний основной ( ) {
целое число1;
printf ( 'Введите десятичное число:' ) ;
сканф ( '%д' , & число1 ) ;
преобразование ( число1 ) ;
возвращаться 0 ;
}


Эта программа будет выполнять цикл for по числу, начиная с самого старшего бита и заканчивая битом с наименьшим значением. Выполняя операцию «побитовое И» над маской и числом, мы можем определить, равен ли бит 0 или 1. Если он отличен от нуля, текущий бит равен 1; в противном случае это 0.

Чтобы показать двоичную форму num1, выведите бит после каждой итерации. Окончательный вывод после полного выполнения будет следующим:

Заключение

Преобразование десятичных чисел в двоичные является важным навыком в компьютерном программировании. Преобразование десятичных чисел в двоичные позволяет нам выполнять различные операции в программировании на C. В этой статье представлены 4 метода преобразования десятичных значений в двоичные.