1. példa: Bináristól decimálissá programozás a „while” ciklus használatával
Van egy következő programunk a számok binárisról decimálisra konvertálására. A programon belül a „while” ciklust használjuk a decimális bináris konvertáláshoz.
#include#include
segítségével névtér std ;
int conversionOfBin ( hosszú hosszú ) ;
int fő- ( ) {
hosszú hosszú az egyiken ;
cout << 'Kétes szám szükséges: ' ;
enni >> az egyiken ;
cout << az egyiken << ' binárisan = ' << conversionOfBin ( az egyiken ) << 'tizedesben' ;
Visszatérés 0 ;
}
int conversionOfBin ( hosszú hosszú az egyiken ) {
int így = 0 , x = 0 , maradék ;
míg ( az egyiken ! = 0 ) {
maradék = az egyiken % 10 ;
az egyiken / = 10 ;
december + = maradék * hadifogoly ( 2 , x ) ;
++ x ;
}
Visszatérés így ;
}
Itt meghatározzuk az „iostream” fejlécfájlt a bemeneti és kimeneti adatfolyamokhoz, valamint a „cmath”-ot a program matematikai függvényének használatához. Ezt követően definiáljuk a ConversionOfBin() függvényt, ahol a „long long” típusú paramétert adjuk át. Ezután van egy main() függvényhívásunk a program végrehajtásához. A main() függvényben deklarálunk egy „num” nevű hosszú inter típusú változót.
Ezt követően a ConversionOfBin() függvény a bevitt bináris számot decimális számmá alakítja. Ehhez az illesztőprogram kódja után megvan a ConversionOfBin() függvény definíciója. A ConversionOfBin() függvény a „num” változóval kerül átadásra, amely bináris számmal rendelkezik. Ezután meghívjuk a „while” hurkot, hogy a „szám” bináris számot decimális értékké alakítsuk. Ezt megelőzően inicializáljuk a „deci”, „x” és „remainder” változókat „0” értékkel.
A „while” cikluson belül az osztási műveletet a bináris szám jobb szélső értékének reprezentálására hajtják végre. Az osztás eredményeit a „remainder” változó tárolja. Ezután a maradék és a hatvány eredményét hozzáadjuk a „deci” változóhoz. Az „x” változó folyamatosan értékeli a 2 aktív teljesítményét.
A megadott bináris számok decimális értékké konvertálásának eredménye a C++ konzolban érhető el:
2. példa: Bináristól decimálissá programozás a „For” ciklus használatával
A binárisról decimálisra való átalakítást „while” ciklus segítségével hajtották végre. Használhatjuk azonban a „for” ciklus módszerét is, hogy a bináris biteket decimális számmá alakítsuk.
#include
#include
int fő- ( ) {
std :: húr kuka ;
std :: cout << 'Bináris szám megadása: ' ;
std :: enni >> kuka ;
int december = 0 ;
int alapIs = 1 ;
számára ( int a = kuka. hossz ( ) - 1 ; a >= 0 ; a -- ) {
ha ( kuka [ a ] == '1' ) {
december + = alapIs ;
}
alapIs * = 2 ;
}
std :: cout << 'Eredmények tizedesben: ' << december << std :: endl ;
Visszatérés 0 ;
}
Itt kezdjük a main() függvényprogrammal, ahol van az „std::string” változó, amely a „bin” a felhasználó által a promptban bevitt bináris szám tárolására. Kezdetben a prompt arra kéri a felhasználót, hogy adja meg a bináris számot a „cout” utasítással. Ezután a „cin” parancs beolvassa ezt a bináris számot. Ezt követően inicializáljuk a „dec” változót „0” értékkel, a „baseIs” változót pedig „1” értékkel, hogy megkapjuk a decimális megfelelőjét.
Ezután hívunk egy „for” ciklust, amely a megadott bináris minden egyes számain áthalad jobbról balra. A cikluson belül van egy „if” feltételünk annak ellenőrzésére, hogy a bináris szám 1-e. Ha 1, akkor a decimális érték hozzáadódik a „dec” változóhoz. A „baseIs” változó 2-es hatványával minden iterációnál meg kell szorozni 1-gyel.
A bináris szám értéke és decimális értékké való konvertálása a prompt képernyőn jelenik meg:
3. példa: Bináris karakterlánc programozása decimálisra
A bináris karakterlánc értéke most úgy van megadva, hogy az értékét decimális értékké konvertálja. A következő megvalósítást hajtjuk végre a bináris karakterlánc értékének decimális értékké alakításához:
#include#include
segítségével névtér std ;
int binToDec ( string val )
{
karakterlánc értéke = val ;
int decimális_érték = 0 ;
int alap_érték = 1 ;
int csak = érték. hossz ( ) ;
számára ( int m = csak - 1 ; m >= 0 ; m -- ) {
ha ( val [ m ] == '1' )
decimális_érték + = alap_érték ;
alap_érték = alap_érték * 2 ;
}
Visszatérés decimális_érték ;
}
int fő- ( )
{
string val = '11100101' ;
cout << binToDec ( val ) << endl ;
}
Itt kezdjük egy BinToDec() függvény létrehozásával a bináris számjegyek decimális értékké konvertálásához. A BinToDec() függvény a karakterlánctípus „val” argumentumát veszi fel. A BinToDec() függvényen belül a „value” változót inicializáljuk a „val” változóval, ami azt jelenti, hogy a „val” változó értéke az „value” változóban lesz tárolva. Ezután deklarálunk egy új „decimal_value” változót, amelyhez 0 értéket rendelünk.
Hasonlóképpen, a „base_value” változót 1-es értékkel állítjuk be és inicializáljuk. Ezután definiáljuk a „len” változót, ahol a long() függvényt hívjuk meg, hogy megkapjuk a bináris szám hosszát. A változó inicializálása után megkapjuk a „for” ciklus iterációját. A „for” ciklus minden bináris számjegyet iterál jobbról balra.
Ezt követően van egy main() függvényünk, ahol a bináris szám karakterlánc értékeként van megadva a „val” változóhoz, amelyet decimális értékké alakítunk, ahogy a BinToDec(val) függvényt a „cout” paranccsal hívjuk.
A karakterlánc típusú bináris értéket a rendszer most decimális értékké konvertálja, amint az a következőkben látható:
4. példa: Bináristól decimálissá programozás a Bitset osztály használatával
Ezenkívül a bináris számot decimális számmá alakíthatjuk, ha a programban meghatározzuk a C++ „bitset” osztályát. Olyan funkciókat biztosít, amelyeken keresztül az átalakítási eljárás nagyon egyszerű.
#include#include
int fő- ( ) {
std :: húr binárisIs ;
std :: cout << 'Kérjük, adjon meg bináris számot:' ;
std :: enni >> binárisIs ;
std :: bitkészlet < 64 > bináris ( binárisIs ) ;
aláírás nélküli hosszú decimális szám = bináris. túl hosszú ( ) ;
std :: cout << 'Decimális szám: ' << decimális szám << std :: endl ;
Visszatérés 0 ;
}
Itt beállítjuk a C++ „bitset” könyvtárát a fejlécben, ami nagyon hasznos, ha bináris értékekkel dolgozunk. Ezek után van egy main() függvénydefiníciónk, ahol az „std::string”-et használjuk a „binaryIs” változó deklarálására. A „binaryIs” változó a bináris értékét tárolja a karakterláncban. Ezután megkérjük a felhasználót, hogy adja hozzá a bináris számot a prompthoz, és a „cin” paranccsal olvassa be. Ezt követően beállítjuk a bitek méretét, amelyek 64 bites egészek lehetnek. Ezután a to_ulong() függvény a „bitset” osztályból a „decimalNumber” változóba kerül meghívásra. A to_ulong() függvény a bitkészletet előjel nélküli hosszú adattípussá alakítja. Végül a „cout” paranccsal kinyomtatjuk a felhasználó által megadott bináris érték decimális értékét.
A felhasználó által megadott bináris érték most decimális értékké alakul:
Következtetés
Végezetül bemutattuk a bináris érték decimális értékké konvertálásának módszereit. A „for” ciklust, a „while” ciklust és a bitset osztály megközelítést használtuk a bináris decimális átalakításhoz. Ezek a megközelítések a bináris számokat decimális rendszerré alakítják át, ami megkönnyíti az olvasást és a megértést.