Esimerkki 1: Ohjelma binääristä desimaaliin käyttämällä 'While' -silmukkaa
Meillä on seuraava ohjelma luvun muuntamiseksi binääristä desimaaliksi. Ohjelmassa käytämme 'while'-silmukkaa binäärimuunnokseen desimaalilukuiksi.
#include#include
käyttämällä nimiavaruus std ;
int convertOfBin ( pitkä pitkä ) ;
int pää ( ) {
pitkä pitkä yhdellä ;
cout << 'Binäärinumero vaaditaan: ' ;
syöminen >> yhdellä ;
cout << yhdellä << 'binäärimuodossa =' << convertOfBin ( yhdellä ) << 'desimaalilukuna' ;
palata 0 ;
}
int convertOfBin ( pitkä pitkä yhdellä ) {
int niin = 0 , x = 0 , loput ;
sillä aikaa ( yhdellä ! = 0 ) {
loput = yhdellä % 10 ;
yhdellä / = 10 ;
joulukuu + = loput * pow ( 2 , x ) ;
++ x ;
}
palata niin ;
}
Tässä määritämme 'iostream'-otsikkotiedoston tulo- ja lähtövirroille ja 'cmath' käyttääksemme ohjelman matemaattista funktiota. Tämän jälkeen määritämme ConversionOfBin()-funktion, jossa parametri tyyppi “long long” välitetään. Seuraavaksi meillä on main()-funktiokutsu ohjelman suorittamiseksi. Main()-funktion sisällä julistetaan pitkä intertyyppinen muuttuja nimeltä 'num'.
Tämän jälkeen ConversionOfBin()-funktio muuntaa syötetyn binaariluvun desimaaliluvuksi. Tätä varten meillä on ConversionOfBin()-funktion määritelmä ohjainkoodin jälkeen. ConversionOfBin()-funktio välitetään 'num'-muuttujan kanssa, jolla on binääriluku. Sitten kutsumme 'while'-silmukkaa muuntaaksemme binääriluvun 'num':ksi desimaaliarvoksi. Ennen tätä alustamme muuttujat 'deci', 'x' ja 'remainder' arvolla '0'.
'While'-silmukan sisällä jakotoiminto suoritetaan edustamaan binääriluvun oikeanpuoleista arvoa. Jakotulokset tallennetaan 'remainder'-muuttujaan. Sitten lisäämme jäännöstulokset ja tehotulokset 'deci'-muuttujaan. 'x'-muuttuja arvioi jatkuvasti 2:n pätötehoa.
Tulokset määritettyjen binäärilukujen muuntamisesta desimaaliarvoiksi saavutetaan C++-konsolissa:
Esimerkki 2: Ohjelma binääristä desimaaliin käyttämällä 'For'-silmukkaa
Muunnos binääristä desimaalimuotoon suoritettiin käyttämällä 'while'-silmukkaa. Voimme kuitenkin myös käyttää 'for' -silmukkamenetelmää binääribittien muuntamiseksi desimaaliluvuiksi.
#include
#sisällytä
int pää ( ) {
std :: merkkijono roskakori ;
std :: cout << 'Syötä binaariluku: ' ;
std :: syöminen >> roskakori ;
int joulukuu = 0 ;
int baseIs = 1 ;
varten ( int a = roskakori. pituus ( ) - 1 ; a >= 0 ; a -- ) {
jos ( roskakori [ a ] == '1' ) {
joulukuu + = baseIs ;
}
baseIs * = 2 ;
}
std :: cout << 'Tulokset desimaaleina: ' << joulukuu << std :: endl ;
palata 0 ;
}
Tässä aloitamme main()-funktioohjelmalla, jossa meillä on 'std::string'-muuttuja, joka on 'bin', joka tallentaa käyttäjän kehotteeseen syöttämän binääriluvun. Aluksi kehote pyytää käyttäjää syöttämään binääriluvun 'cout'-käskyn avulla. Sitten 'cin' -komento lukee kyseisen binääriluvun. Tämän jälkeen alustamme 'dec'-muuttujan arvolla '0' ja 'baseIs'-muuttujan arvolla '1', jotta saadaan desimaalivastaava.
Sitten kutsumme 'for'-silmukkaa, joka kiertää määritetyn binaarin jokaisen numeron yli oikealta vasemmalle. Silmukan sisällä meillä on 'if'-ehto, jolla tarkistetaan, onko binääriluku 1. Jos se on 1, desimaaliarvo lisätään 'dec'-muuttujaan. 'BaseIs'-muuttujan teho on 2, joka kerrotaan 1:llä jokaisessa iteraatiossa.
Binääriluvun arvo ja sen muuntaminen desimaaliarvoksi näytetään kehotenäytössä:
Esimerkki 3: Binäärimerkkijonon ohjelma desimaalilukuihin
Binäärimerkkijonon arvo on nyt määritetty muuttamaan sen arvo desimaaliarvoksi. Seuraava toteutus tehdään binäärimerkkijonon arvon muuttamiseksi desimaaliarvoksi:
#include#sisällytä
käyttämällä nimiavaruus std ;
int binToDec ( merkkijono val )
{
merkkijonon arvo = val ;
int desimaali_arvo = 0 ;
int perusarvo = 1 ;
int vain = arvo. pituus ( ) ;
varten ( int m = vain - 1 ; m >= 0 ; m -- ) {
jos ( val [ m ] == '1' )
desimaali_arvo + = perusarvo ;
perusarvo = perusarvo * 2 ;
}
palata desimaali_arvo ;
}
int pää ( )
{
merkkijono val = '11100101' ;
cout << binToDec ( val ) << endl ;
}
Tässä aloitamme luomalla BinToDec()-funktion binäärinumeroiden muuntamiseksi desimaaliarvoiksi. BinToDec()-funktio ottaa merkkijonotyypin 'val'-argumentin. BinToDec()-funktiossa alustamme 'value'-muuttujan 'val'-muuttujalla, mikä tarkoittaa, että 'val'-muuttujan arvo tallennetaan 'value'-muuttujaan. Sitten julistamme uuden muuttujan, 'decimal_value', jolle annetaan arvo 0.
Samoin 'base_value'-muuttuja asetetaan ja alustetaan arvolla 1. Seuraavaksi määritetään 'len'-muuttuja, jossa pituus()-funktiota kutsutaan binääriluvun pituuden saamiseksi. Muuttujan alustuksen jälkeen meillä on 'for' -silmukan iteraatio. For-silmukka toistaa jokaisen binääriluvun numeron oikealta vasemmalle.
Sen jälkeen meillä on main()-funktio, jossa binääriluku määritetään merkkijonoarvona 'val'-muuttujalle, joka muunnetaan desimaaliarvoksi, kuten kutsumme BinToDec(val)-funktiota 'cout'-komennolla.
Merkkijonotyyppinen binaariarvo muunnetaan nyt desimaaliarvoksi seuraavassa esitetyllä tavalla:
Esimerkki 4: Ohjelma binääristä desimaaliin käyttämällä bittiluokkaa
Lisäksi voimme muuntaa binääriluvun desimaaliluvuksi määrittelemällä ohjelmassa C++:n 'bitset'-luokan. Se tarjoaa toiminnot, joiden avulla muunnosprosessi on hyvin yksinkertainen.
#include#include
int pää ( ) {
std :: merkkijono binaryIs ;
std :: cout << 'Anna binäärinumero:' ;
std :: syöminen >> binaryIs ;
std :: bittisarja < 64 > binääri ( binaryIs ) ;
allekirjoittamaton pitkä desimaaliluku = binääri. liian pitkä ( ) ;
std :: cout << 'Desimaaliluku:' << desimaaliluku << std :: endl ;
palata 0 ;
}
Täällä asetamme otsikkoon C++:n 'bitset'-kirjaston, joka on erittäin hyödyllinen binääriarvojen kanssa työskennellessä. Tämän jälkeen meillä on main()-funktion määritelmä, jossa käytämme 'std::string' ilmoittamaan 'binaryIs'-muuttuja. 'BinaryIs'-muuttuja tallentaa binääriarvon merkkijonoon. Seuraavaksi pyydämme käyttäjää lisäämään binäärinumeron käyttäjän kehotteeseen ja se luetaan 'cin' -komennon kautta. Tämän jälkeen säädämme bittien kokoa, joka voi olla 64 bittiä kokonaislukua. Sitten funktio to_ulong() kutsutaan 'bitset'-luokasta 'decimalNumber'-muuttujaan. To_ulong()-funktio muuntaa bittijoukon etumerkittömäksi pitkäksi tietotyypiksi. Lopuksi käytämme 'cout'-komentoa tulostamaan käyttäjän antaman binääriarvon desimaaliarvon.
Käyttäjän antama binääriarvo muunnetaan nyt desimaaliarvoksi:
Johtopäätös
Lopuksi käsittelimme menetelmiä, joilla binääriarvo muunnetaan desimaaliarvoksi. Käytimme 'for' -silmukkaa, 'while' -silmukkaa ja bitset-luokkalähestymistapoja binäärimuunnokseen desimaaliksi. Nämä lähestymistavat muuttavat binääriluvut desimaalijärjestelmiksi, mikä helpottaa lukemista ja ymmärtämistä.