In deze sectie wordt de conversie van binaire getallen naar decimale getallen besproken. Voordat we naar het concept gaan, moeten we binaire getallen en decimale getallen begrijpen. Zoals we weten, begrijpt de computer de woorden of cijfers die mensen schrijven of doen niet. In plaats daarvan begrijpt het alleen nullen en enen. Wanneer we bijvoorbeeld een woord of getal op een computer typen, helpen verschillende software of compilers deze getallen of woorden om te zetten in binaire vorm (0s en 1s bit). Zodat een computermachine deze gemakkelijk kan begrijpen.
wat is Computer
Binair getal
Een binair getal is een getal dat informatie of gegevens vertegenwoordigt die zijn opgeslagen in een computer met een combinatie van 0s- en 1s-bits. Het is ook bekend als het cijfersysteem met grondtal 2 omdat het twee bits heeft: nullen en enen. Dit zijn binaire getallen (0 en 1) 1001, 1010, 1101, 1111, 1010101 enz.
Decimaal getal
Een decimaal getal is een getal dat 10 cijfers van 0 tot en met 9 bevat. Het grondtal is 10 omdat het 10 cijfers verzamelt (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) en het getal vertegenwoordigt of maakt. geheel getal met behulp van deze tien cijfers.
Algoritme om binair naar decimaal te converteren
- Neem een binair getal als invoer.
- Deel het getal door 10 en sla de rest op in variabele rem.
- decimaal_getal = decimaal_getal + rem * basis;
Aanvankelijk is het decimale getal 0 en het grondtal 1, waarbij de variabele rem de rest van het getal opslaat. - Deel het quotiënt van het oorspronkelijke getal door 10.
- Vermenigvuldig de basis met 2.
- Druk het decimaalteken van het binaire getal af.
Converteer binair getal naar een decimaal getal met behulp van de while-lus
Laten we eens kijken naar het C-programma om de combinatie van een binair getal (0s en 1s) om te zetten in het decimale getal met behulp van een while-lus.
programma.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(); }
Uitvoer
Enter a binary number with the combination of 0s and 1s 1101 The binary number is 1101 The decimal number is 13
Uitleg van de code: Zoals we in het bovenstaande programma kunnen zien, vraagt het een binair getal (0s en 1s) van de gebruikers om het getal op te slaan in het variabele getal. Bij elke iteratie controleert een while-lus de voorwaarde van het binaire getal en valideert dat het gegeven getal niet kleiner mag zijn dan 0; anders verlaat het de lus.
Hieronder volgen de iteraties van de while-lus, als volgt:
1e iteratie:
rem = 1101 % 10 => 1
hoeveel ounces is 10 milliliter
decimaal_getal = 0 + 1 * 1 => 1 (decimaal_waarde = 0, rem = 1, & basis = 1)
getal = 1101 / 10 => 110
basis = 1 * 2 => 2
2e iteratie:
rem = 110 % 10 => 0
decimaal_getal = 1 + 0 * 2 => 1 (decimaal_waarde = 1, rem = 0, & basis = 2)
getal = 110 / 10 => 11
basis = 2 * 2 => 4
hoeveel steden zijn er in de verenigde staten van amerika
3e iteratie:
rem = 11 % 10 => 1
decimaal_getal = 1 + 1 * 4 => 5 (decimaal_waarde = 1, rem = 1, & basis = 4)
getal = 11 / 10 => 1
basis = 4 * 2 => 8
4e iteratie:
rem = 1 % 10 => 1
decimaal_getal = 5 + 1 * 8 => 1 (decimaal_waarde = 5, rem = 1, & basis = 8)
getal = 1 / 10 => 0
k clusteralgoritme
basis = 8 * 2 => 16
Converteer binair getal naar het decimale getal met behulp van de for-lus
Laten we een programma in C-taal bekijken om de combinatie van binaire getallen (0s en 1s) naar het decimale getal te converteren met behulp van de for-lus.
binaire boom java
decimaal.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(); }
Uitvoer
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
Converteer binair getal naar decimaal getal met behulp van de functie
Laten we een programma in de C-taal bekijken om de combinatie van een binair getal (0s en 1s) naar het decimale getal te converteren met behulp van een door de gebruiker gedefinieerde functie.
dus
#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; }
Uitvoer
Enter the binary number (0s and 1s) 11001 Conversion of the binary number to decimal number is 25
Converteer binair getal naar decimaal getal met behulp van array en functie
Laten we een programma in C-taal bekijken om de combinatie van binaire getallen (0s en 1s) naar het decimale getal te converteren met behulp van functie en array.
Decimaal2.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; }
Uitvoer
The binary number is 1101 The decimal number of 1101 is 13