Tässä osiossa käsitellään binäärilukujen muuntamista desimaaliluvuiksi. Ennen kuin siirrymme käsitteeseen, meidän on ymmärrettävä binaariluvut ja desimaaliluvut. Kuten tiedämme, tietokone ei ymmärrä sanoja tai numeroita, joita ihmiset kirjoittavat tai tekevät. Sen sijaan se ymmärtää vain 0:ta ja 1:tä. Esimerkiksi kun kirjoitamme sanan tai numeron tietokoneella, erilaiset ohjelmistot tai kääntäjät auttavat muuttamaan nämä numerot tai sanat binäärimuotoon (0s ja 1s bitti). Jotta tietokonekone voi helposti ymmärtää nämä.
pyspark opetusohjelma
Binääriluku
Binääriluku on luku, joka edustaa tietokoneeseen tallennettua tietoa 0s- ja 1s-bittien yhdistelmällä. Se tunnetaan myös nimellä 2 perusnumerojärjestelmä, koska siinä on kaksi bittiä, 0s ja 1s. Nämä ovat binäärilukuja (0 ja 1) 1001, 1010, 1101, 1111, 1010101 jne.
Desimaaliluku
Desimaaliluku on luku, joka sisältää 10 numeroa 0–9. Sen kantaluku on 10, koska se kerää 10 numeroa (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) ja edustaa tai muodostaa kokonaisluku käyttämällä näitä kymmentä numeroa.
Algoritmi, jolla muunnetaan binääri desimaaliksi
- Ota syötteeksi binääriluku.
- Jaa luku 10:llä ja tallenna loput muuttujaan rem.
- desimaaliluku = desimaaliluku + rem * kanta;
Aluksi desimaaliluku on 0 ja kantaluku 1, missä rem-muuttuja tallentaa luvun loppuosan. - Jaa alkuperäisen luvun osamäärä 10:llä.
- Kerro perusarvo 2:lla.
- Tulosta binääriluvun desimaaliluku.
Muunna binääriluku desimaaliluvuksi while-silmukan avulla
Tarkastellaan C-ohjelmaa, joka muuntaa binääriluvun (0s ja 1s) yhdistelmän desimaaliluvuksi while-silmukan avulla.
ohjelma.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(); }
Lähtö
Enter a binary number with the combination of 0s and 1s 1101 The binary number is 1101 The decimal number is 13
Selitykset koodille: Kuten yllä olevassa ohjelmassa näemme, se pyytää käyttäjiltä binääriluvun (0s ja 1s) tallentaakseen luvun muuttujaan num. Jokaisessa iteraatiossa while-silmukka tarkistaa binäärilukuehdon ja vahvistaa, että annettu luku ei saa olla pienempi kuin 0; muuten se poistuu silmukasta.
Seuraavassa on while-silmukan iteraatio seuraavasti:
1. iteraatio:
rem = 1101 % 10 => 1
desimaaliluku = 0 + 1 * 1 => 1 (desimaaliarvo = 0, rem = 1 ja kantaluku = 1)
java merkkijono int
luku = 1101 / 10 => 110
kanta = 1 * 2 => 2
2. iteraatio:
rem = 110 % 10 => 0
desimaaliluku = 1 + 0 * 2 => 1 (desimaaliluku = 1, rem = 0 ja kanta = 2)
int merkkijonomuunnos Javassa
luku = 110 / 10 => 11
kanta = 2 * 2 => 4
3. iteraatio:
rem = 11 % 10 => 1
desimaaliluku = 1 + 1 * 4 => 5 (desimaaliarvo = 1, rem = 1 ja kantaluku = 4)
luku = 11/10 => 1
kanta = 4 * 2 => 8
4. iteraatio:
rem = 1 % 10 => 1
desimaaliluku = 5 + 1 * 8 => 1 (desimaaliluku = 5, rem = 1 ja kantaluku = 8)
luku = 1/10 => 0
kanta = 8 * 2 => 16
inurl:.git/head
Muunna binääriluku desimaaliluvuksi käyttämällä for-silmukkaa
Tarkastellaan C-kielen ohjelmaa, joka muuntaa binääriluvun (0s ja 1s) yhdistelmän desimaaliluvuksi for-silmukan avulla.
desimaali.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(); }
Lähtö
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
Muunna binääriluku desimaaliluvuksi funktion avulla
Tarkastellaan C-kielen ohjelmaa, joka muuntaa binääriluvun (0s ja 1s) yhdistelmän desimaaliluvuksi käyttämällä käyttäjän määrittämää funktiota.
niin c
tavutaulukko merkkijonoksi
#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; }
Lähtö
Enter the binary number (0s and 1s) 11001 Conversion of the binary number to decimal number is 25
Muunna binääriluku desimaaliluvuksi taulukon ja funktion avulla
Tarkastellaan ohjelmaa C-kielellä, joka muuntaa binääriluvun (0s ja 1s) yhdistelmän desimaaliluvuksi funktion ja taulukon avulla.
Desimaali2.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; }
Lähtö
The binary number is 1101 The decimal number of 1101 is 13