Това ръководство ще разгледа как да конвертирате двоични числа в десетични числа в C.
Преди да навлезем в самата концепция, нека видим какво представляват двоичните и десетичните числа в C.
Двоични и десетични числови формати в C
Двоичните числа са числа, представени под формата на комбинация от две цифри 0 и 1, и те се наричат бройна система с основа 2. Десетичните числа, от друга страна, са числа с основа 10, които се състоят от цифри, вариращи от 0 до 9.
Както виждате под името binary, което означава две, така че когато имаме числа под формата на комбинация от две цифри 0 и 1, ние ги наричаме двоични числа. тя се нарича номерна система с основа 2.
Защо да конвертирате двоични числа в десетични в C
Работата с двоични числа е предизвикателство за разработчиците поради многото възможни комбинации от 0 и 1. Десетичните числа, от друга страна, са по-лесни за разбиране и обработка, което ги прави по-бърз и по-ефективен метод за C програми. Преобразуването на двоични числа в десетични числа в C включва умножаване на всички двоични цифри по подходящата степен на две и добавяне на резултатите, което се извършва с помощта на цикли.
Прост алгоритъм за преобразуване на двоични в десетични в C
Ето един прост алгоритъм за преобразуване на двоичен в десетичен в C с помощта на шест прости стъпки:
- Вземете двоично число като вход от потребителя.
- Инициализирайте променлива „decimal“ на 0 и променлива „base“ на 1.
- Извлечете най-дясната цифра от двоичното число с помощта на оператора за модул (%) и добавете произведението на тази цифра и основата към десетичната променлива.
- Умножете базовата променлива по 2.
- Премахнете най-дясната цифра от двоичното число, като използвате целочислено деление (/).
- Повторете стъпки 3-5, докато всички цифри бъдат обработени.
- Показване на десетичната стойност на двоичното число, съхранено в променливата „decimal“.
Преобразувайте двоични числа в десетични в C
Следното е прост код за преобразуване на двоични числа в десетични в C програмиране.
#include
#include
вътр основен ( ) {
дълго дълго а ;
printf ( 'Моля, въведете двоично число: ' ) ;
сканиране ( '%lld' , и а ) ;
printf ( '%lld в двоичен = %d във формата на десетичен' , а , binaryToDecimal ( а ) ) ;
връщане 0 ; }
вътр binaryToDecimal ( дълго дълго а ) {
вътр дек = 0 , b = 0 , r ;
докато ( а != 0 ) {
r = а % 10 ;
а /= 10 ;
дек += r * пау ( 2 , b ) ;
++ b ;
}
връщане дек ;
}
В горния код глобална функция е направена като име „binaryToDecimal“ . След това в main декларираме дълга дълга променлива като 'а' и помолете потребителя да добави двоично число и да го преобразува в десетично чрез извикване на „binaryToDecimal“ функция с параметър на a”. В „binaryToDecimal“ дефиниране на функция десетично преобразуване чрез цикъла while.
Изход
Можете да използвате и вграден strtol() функция за преобразуване на двоични числа в десетични в C програмиране.
Следва кодът за такава функция:
#include#include
вътр основен ( ) {
въглен двоичен_низ [ ] = '1110' ;
въглен * ptr ;
дълго десетична_стойност ;
десетична_стойност = катастрофира ( двоичен_низ , и ptr , 2 ) ;
printf ( 'двоичен низ' % с ' е равно на десетичната стойност %ld. \н ' , двоичен_низ , десетична_стойност ) ;
връщане 0 ;
}
Горният код преобразува двоичен низ „1110“ в еквивалентната му десетична стойност с помощта на strtol() функция, която приема като аргументи двоичния низ, указател към указател char и основата на числовата система. Накрая той отпечатва резултата на конзолата с помощта на printf().
Изход
Заключение
Както знаем, хората са запознати с десетичните числа в сравнение с двоичните, тъй като са трудни за управление. Десетичните цифри са лесни за извършване на аритметични операции, тъй като са с основа 10 и тяхната обработка е по-бърза в сравнение с двоичните цифри, следователно двоичните числа се преобразуват в десетични. Горният преглед обясни преобразуването на двоични числа в десетични с програмата C с дефинирани от потребителя функции и вграден strtol() функция.