logo

Бинарни у децимални број у Ц

У овом одељку биће речи о конверзији бинарних бројева у децималне бројеве. Пре него што пређемо на концепт, морамо разумети бинарне бројеве и децималне бројеве. Као што знамо, компјутер не разуме речи или бројеве које људи пишу или раде. Уместо тога, разуме само 0 и 1. На пример, када укуцамо реч или број на рачунару, различити софтвери или преводиоци помажу да ове бројеве или речи претворимо у бинарни облик (0с и 1с бит). Тако да компјутерска машина може лако да их разуме.

здраво свет са Јавом
Бинарни у децимални број у Ц

Бинарни број

Бинарни број је број који представља информације или податке ускладиштене у рачунару са комбинацијом 0с и 1с битова. Такође је познат и као нумерички систем базе 2 јер има два бита, 0 и 1. То су бинарни бројеви (0 и 1) 1001, 1010, 1101, 1111, 1010101 итд.

Децимални број

Децимални број је број који садржи 10 цифара од 0 до 9. Његова основа је 10 јер скупља 10 цифара (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) и представља или чини цео број користећи ових десет цифара.

Алгоритам за претварање бинарног у децимални

  1. Узмите бинарни број као улаз.
  2. Поделите број са 10 и сачувајте остатак у променљиву рем.
  3. децимални_број = децимални_број + рем * база;
    У почетку, децимал_нум је 0, а основа је 1, где променљива рем чува остатак броја.
  4. Поделите количник првобитног броја са 10.
  5. Помножите базу са 2.
  6. Одштампајте децимални део бинарног броја.

Претворите бинарни број у децимални број користећи вхиле петљу

Хајде да размотримо Ц програм за претварање комбинације бинарног броја (0с и 1с) у децимални број користећи вхиле петљу.

програм.ц

 #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(); } 

Излаз

 Enter a binary number with the combination of 0s and 1s 1101 The binary number is 1101 The decimal number is 13 

Објашњења кода: Као што видимо у горњем програму, он тражи бинарни број (0с и 1с) од корисника да сачува број у променљивој нум. На свакој итерацији, вхиле петља проверава услов бинарног броја и потврђује да дати број не сме бити мањи од 0; у супротном, излази из петље.

Следи итерација вхиле петље, како следи:

1. итерација:

рем = 1101 % 10 => 1

децимални_број = 0 + 1 * 1 => 1 (децимални_вал = 0, рем = 1, & база = 1)

'банкарски алгоритам'

број = 1101 / 10 => 110

база = 1 * 2 => 2

2. итерација:

рем = 110 % 10 => 0

децимални_број = 1 + 0 * 2 => 1 (децимални_вал = 1, рем = 0, & база = 2)

број = 110 / 10 => 11

база = 2 * 2 => 4

3. итерација:

рем = 11 % 10 => 1

децимални_број = 1 + 1 * 4 => 5 (децимални_вал = 1, рем = 1, и основа = 4)

како отворити датотеку у јава

број = 11 / 10 => 1

генератор случајних бројева у в

база = 4 * 2 => 8

4. итерација:

рем = 1 % 10 => 1

децимални_број = 5 + 1 * 8 => 1 (децимални_вал = 5, рем = 1, и основа = 8)

број = 1 / 10 => 0

основа = 8 * 2 => 16

Претворите бинарни број у децимални број користећи фор петљу

Хајде да размотримо програм на језику Ц који претвара комбинацију бинарног броја (0с и 1с) у децимални број користећи фор петљу.

децимални.ц

замени стринг у стринг јава
 #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(); } 

Излаз

 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 

Претворите бинарни број у децимални број помоћу функције

Хајде да размотримо програм на језику Ц који претвара комбинацију бинарног броја (0с и 1с) у децимални број користећи кориснички дефинисану функцију.

па ц

 #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; } 

Излаз

 Enter the binary number (0s and 1s) 11001 Conversion of the binary number to decimal number is 25 

Претворите бинарни број у децимални број користећи низ и функцију

Хајде да размотримо програм на језику Ц који претвара комбинацију бинарног броја (0с и 1с) у децимални број користећи функцију и низ.

Децимала2.ц

 #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; } 

Излаз

 The binary number is 1101 The decimal number of 1101 is 13