Cél: hozzon létre egy függvényt a Pythonban a decimálisból binárissá és kiterjesztésként bármely más bázisra való átalakításhoz.
A tizedes szám binárisra konvertálása nem rejtély a Pythonban:
Még a bináris és a tizedes közötti fordított folyamat is egyszerű:
De a kegyelem, amikor megtanul programozni, a hatodik érzék fejlesztésére törekszik algoritmikus, gyakran elhanyagolt szempont.
Tehát a mai cikkben megtervezzük saját felelős funkciónkat tizedes számot konvertálni binárisra, hogy később kibővítjük, hogy kifejezzük bármely más bázis.
Az alapul szolgáló algoritmus felfedezése gyakran magában foglalja a feladat végrehajtását kézzel nagyon figyelve a mi mentális folyamatok, fordítsd őket szavak és később átalakítsa őket utasítás saját programozási nyelv.
A minket érintő példa egyszerű, mivel a mentális folyamat és a formális fejlődés között gyakorlatilag közvetlen összefüggés van, de nem mindig van ilyen, és ezekben az esetekben el kell atomizálni azt, ami a fejünkön megy keresztül.
Az iskolában azt tanítják nekünk (vagy legalábbis tanították), hogy a pozitív egész számot tizedes alapon binárisra konvertáljuk:
A számot elosztjuk kettővel, és felírjuk az osztás fennmaradó részét. Vesszük a hányadost, és kettővel elosztjuk, megjegyezve az új maradékot. Fogjuk az új hányadost, és addig folytatjuk ugyanazt a műveletet, amíg nem tudunk folytatni, mivel a hányados már kettőnél kevesebb (egy, bináris konverziókban). Ezután vesszük ezt a hányadost (egyet), és hozzáadjuk, fordított megjelenési sorrendben, az összes maradványt, amelyet útközben írtunk le.
Konvertáljuk például a 81-et binárisra:
Már nem oszthatjuk fel kettővel, mivel a hányados egy. Ezt a hányadost vesszük az összes maradékkal együtt fordított sorrendben, és 81-et találunk binárisan kifejezve:
1010001
Algoritmusunk megteszi pontosan ugyanaz.
A bináris változó egy karaktersorozat, amely minden maradékot felhalmoz. Figyelje meg annak felépítését, hozzátéve bal oldalon minden új pihenés.
A tizedes változó az eredeti számmal kezdődik, de minden egyes iterációban az egész osztásból adódó új hányados értékét veszi fel. A hurok folyamatosan ismétlődik, amíg a hányados nem nulla. Ekkor az előző (egy) hányados lesz a számjegy legjelentősebb az eredményt, a visszatérési nyilatkozattal együtt küldte vissza.
Lássuk ezt a funkciót működés közben:
Bármely más bázissá konvertáláshoz az eljárás teljesen ugyanaz, azzal a különbséggel, hogy az egész ketté osztás végrehajtása helyett az új bázisban tesszük.
És most áttérés oktálissá:
Tesztelés céljából kerülje a 10-nél nagyobb bázisok használatát, mivel nincs elég számjegyünk az eredmény megjelenítéséhez. Vagy módosíthatja a programot, és létrehozhatja saját számjegyeit az ábécé betűivel, mint a hexadecimális rendszerben.
Javasolt 1. gyakorlat: hozzon létre egy olyan függvényt, amely egy tizedes számot 16-osá alakít (hexadecimális). Szüksége lesz egy olyan táblára, amely a maradék 10, 11, 12,…, 15 eredményeit átalakítja A, B, C,…, F, ill.
Javasolt 2. gyakorlat: hozzon létre egy olyan függvényt, amely binárisról decimálissá alakul.
Javasolt 3. feladat: hozzon létre egy olyan függvényt, amely bármely más bázisban kifejezett számot tizedessé alakítja.
Javier Montero Gabarró
A cikk szövege egy ilyen típusú Creative Commons licencre van szükség CC-BY-NC-ND (nyugtázás, nem kereskedelmi jellegű, nem származékos mű, 3.0 nem támogatott)
Az önképző klub
Lásd a Pythonra vonatkozó cikkek teljes indexét.
- Nulla alapú költségvetési megszorító program a fogyáshoz és az állam átméretezéséhez - Al Calor
- Az Oscar-díj Jared Leto egy HIV-beteggel élt együtt, hogy felkészüljön a Dallas Buyers Clubban betöltött szerepére
- A Mediasur készíti a programot; A mérleg; az Aragуn Televisiуn számára a Canal Sur-ban elért sikere után
- Erősítő program a fogyáshoz - Atlantafort
- Séta gyakorlási program fogyáshoz