U ovom odjeljku raspravljat ćemo o pretvorbi binarnih brojeva u decimalne brojeve. Prije nego što prijeđemo na koncept, moramo razumjeti binarne brojeve i decimalne brojeve. Kao što znamo, računalo ne razumije riječi ili brojeve koje ljudi pišu ili rade. Umjesto toga, razumije samo 0 i 1. Na primjer, kada utipkamo riječ ili broj na računalu, različiti softveri ili prevoditelji pomažu pretvoriti te brojeve ili riječi u binarni oblik (0s i 1s bit). Tako da ih računalni stroj može lako razumjeti.
čajna žlica vs žlica
Binarni broj
Binarni broj je broj koji predstavlja informacije ili podatke pohranjene u računalu s kombinacijom bitova 0s i 1s. Također je poznat kao brojčani sustav s bazom 2 jer ima dva bita, 0 i 1. To su binarni brojevi (0 i 1) 1001, 1010, 1101, 1111, 1010101 itd.
Decimalni broj
Decimalni broj je broj koji sadrži 10 znamenki od 0 do 9. Njegova baza je 10 jer skuplja 10 znamenki (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) i predstavlja ili čini cijeli broj koristeći ovih deset znamenki.
Algoritam za pretvaranje binarnih u decimalne
- Uzmite binarni broj kao ulaz.
- Podijelite broj s 10 i pohranite ostatak u varijablu rem.
- decimalni_broj = decimalni_broj + rem * baza;
U početku, decimal_num je 0, a baza je 1, gdje varijabla rem pohranjuje ostatak broja. - Kvocijent izvornog broja podijelite s 10.
- Pomnožite bazu s 2.
- Ispišite decimalu binarnog broja.
Pretvorite binarni broj u decimalni broj pomoću while petlje
Razmotrimo C program za pretvaranje kombinacije binarnog broja (0 i 1) u decimalni broj pomoću petlje while.
program.c
#include #include void main() { // declaration of variables int num, binary_num, decimal_num = 0, base = 1, rem; printf (' Enter a binary number with the combination of 0s and 1s '); scanf (' %d', &num); // accept the binary number (0s and 1s) binary_num = num; // assign the binary number to the binary_num variable while ( num > 0) { rem = num % 10; /* divide the binary number by 10 and store the remainder in rem variable. */ decimal_num = decimal_num + rem * base; num = num / 10; // divide the number with quotient base = base * 2; } printf ( ' The binary number is %d ', binary_num); // print the binary number printf (' The decimal number is %d ', decimal_num); // print the decimal getch(); }
Izlaz
Enter a binary number with the combination of 0s and 1s 1101 The binary number is 1101 The decimal number is 13
Objašnjenja koda: Kao što možemo vidjeti u gornjem programu, on od korisnika traži binarni broj (0 i 1) da pohrani broj u varijablu num. U svakoj iteraciji, while petlja provjerava uvjet binarnog broja i potvrđuje da navedeni broj ne smije biti manji od 0; inače izlazi iz petlje.
Slijedi iteracija while petlje, kako slijedi:
1. ponavljanje:
rem = 1101 % 10 => 1
decimalni_broj = 0 + 1 * 1 => 1 (decimalni_vrijednost = 0, rem = 1, & baza = 1)
broj = 1101 / 10 => 110
baza = 1 * 2 => 2
2. ponavljanje:
najljepši osmijeh na svijetu
rem = 110 % 10 => 0
decimalni_broj = 1 + 0 * 2 => 1 (decimalni_vrijednost = 1, rem = 0, & baza = 2)
broj = 110 / 10 => 11
prilagođena iznimka u Javi
baza = 2 * 2 => 4
3. ponavljanje:
rem = 11 % 10 => 1
decimalni_broj = 1 + 1 * 4 => 5 (decimalni_vrijednost = 1, rem = 1, & baza = 4)
broj = 11 / 10 => 1
baza = 4 * 2 => 8
4. ponavljanje:
nasumično c
rem = 1 % 10 => 1
decimalni_broj = 5 + 1 * 8 => 1 (decimalni_vrijednost = 5, rem = 1, & baza = 8)
broj = 1 / 10 => 0
baza = 8 * 2 => 16
Pretvorite binarni broj u decimalni broj pomoću for petlje
Razmotrimo program u jeziku C za pretvaranje kombinacije binarnih brojeva (0 i 1) u decimalni broj pomoću for petlje.
decimalni.c
#include #include #include // use math.h header file void main() { // declaration of local variables i, bin_num, decimal_num = 0, rem; int i, bin_num, decimal_num = 0, rem; printf (' Enter the binary number with the combination of 0s and 1s '); scanf ('%d', &bin_num); // takes the binary number as the input printf( ' The binary number is %d', bin_num); // print the binary number for (i = 0; bin_num != 0; ++i) { rem = bin_num % 10; bin_num = bin_num / 10; decimal_num = decimal_num + (rem) * ( pow (2, i)); } // print the decimal number printf (' Conversion from binary to decimal number is %d', decimal_num); getch(); }
Izlaz
np.linspace
Enter the binary number with the combination of 0s and 1s 10010 The binary number is 10010 Conversion from binary to decimal number is 18
Pretvorite binarni broj u decimalni broj pomoću funkcije
Razmotrimo program u jeziku C za pretvaranje kombinacije binarnih brojeva (0 i 1) u decimalni broj pomoću korisnički definirane funkcije.
dakle c
#include #include int binaryTodecimal(int bin_num); int main() { // declare the local variable int bin_num, dec_num; printf (' Enter the binary number (0s and 1s) '); scanf ('%d', &bin_num); dec_num = binaryTodecimal (bin_num); // call the binaryTodecimal() function printf (' Conversion of the binary number to decimal number is %d', dec_num); } // use user defined function --- binaryTo decimal function int binaryTodecimal( int bin_num) { // declaration of variables int decimal_num = 0, temp = 0, rem; while (bin_num != 0) { rem = bin_num % 10; bin_num = bin_num / 10; decimal_num = decimal_num + rem * pow( 2, temp); temp++; } return decimal_num; }
Izlaz
Enter the binary number (0s and 1s) 11001 Conversion of the binary number to decimal number is 25
Pretvorite binarni broj u decimalni broj pomoću polja i funkcije
Razmotrimo program u jeziku C za pretvaranje kombinacije binarnih brojeva (0 i 1) u decimalni broj pomoću funkcije i polja.
Decimala2.c
#include #include int binaryTodecimal (char num[]) { int i, deci_num, mul = 0; for ( deci_num = 0, i = str_length(num) - 1; i >= 0; --i, ++mul) { deci_num = deci_num + (num[i] - 48) * (1 << mul); } return deci_num; } int str_length( char str[]) { int i = 0; while (str[i] != ' ') i++; return i; } int main() { char num[] = '1101'; int deci_num; printf (' The binary number is %s', num); printf (' The decimal number of %s is %d', num, binaryTodecimal(num)); return 0; }
Izlaz
The binary number is 1101 The decimal number of 1101 is 13