Konversi angka ke basis 5 python

Misalkan Anda ingin mengonversi bilangan bulat menjadi string di beberapa basis antara biner dan heksadesimal. Misalnya, ubah bilangan bulat 10 menjadi representasi stringnya dalam desimal sebagai "10", atau representasi stringnya dalam biner sebagai "1010". Meskipun ada banyak algoritme untuk menyelesaikan masalah ini, termasuk algoritme yang dibahas di bagian stack, formulasi rekursif dari masalah ini sangat elegan.

Mari kita lihat contoh nyata menggunakan basis 10 dan angka 769. Misalkan kita memiliki urutan karakter yang sesuai dengan 10 digit pertama, seperti convString = "0123456789". Sangat mudah untuk mengonversi angka kurang dari 10 menjadi string yang setara dengan melihatnya dalam urutan. Misalnya, jika angkanya 9, maka stringnya adalah convString[9] atau "9". Jika kita dapat mengatur untuk memecah angka 769 menjadi tiga angka satu digit, 7, 6, dan 9, maka mengubahnya menjadi string itu sederhana. Angka kurang dari 10 terdengar seperti kasus dasar yang bagus

Mengetahui apa basis kami menunjukkan bahwa keseluruhan algoritma akan melibatkan tiga komponen

  1. Kurangi angka asli menjadi serangkaian angka satu digit

  2. Ubah angka satu digit menjadi string menggunakan pencarian

  3. Gabungkan string satu digit untuk membentuk hasil akhir

Langkah selanjutnya adalah mencari cara untuk mengubah keadaan dan membuat kemajuan menuju kasus dasar. Karena kita bekerja dengan bilangan bulat, mari pertimbangkan operasi matematika apa yang mungkin mengurangi angka. Kandidat yang paling mungkin adalah pembagian dan pengurangan. Meskipun pengurangan mungkin berhasil, tidak jelas apa yang harus kita kurangi dari apa. Pembagian bilangan bulat dengan sisa memberi kita arah yang jelas. Mari kita lihat apa yang terjadi jika kita membagi angka dengan basis yang ingin kita konversi

Menggunakan pembagian bilangan bulat untuk membagi 769 dengan 10, kita mendapatkan 76 dengan sisa 9. Ini memberi kita dua hasil yang baik. Pertama, sisanya adalah angka yang lebih kecil dari basis kami yang dapat segera dikonversi menjadi string dengan pencarian. Kedua, kita mendapatkan angka yang lebih kecil dari aslinya dan menggerakkan kita menuju kasus dasar yang memiliki angka tunggal lebih kecil dari basis kita. Sekarang tugas kita adalah mengubah 76 menjadi representasi stringnya. Sekali lagi kita akan menggunakan pembagian bilangan bulat ditambah sisa untuk mendapatkan hasil masing-masing 7 dan 6. Akhirnya, kita telah mengurangi masalah menjadi mengonversi 7, yang dapat kita lakukan dengan mudah karena memenuhi kondisi kasus dasar \(n < basis\), di mana \(basis = 10\). Rangkaian operasi yang baru saja kami lakukan diilustrasikan. Perhatikan bahwa angka yang ingin kita ingat ada di kotak sisa di sepanjang sisi kanan diagram

Konversi angka ke basis 5 python

Gambar 3. Mengonversi Bilangan Bulat menjadi String di Basis 10

menunjukkan kode Python yang mengimplementasikan algoritme yang diuraikan di atas untuk setiap basis antara 2 dan 16

Perhatikan bahwa pada baris 3 kami memeriksa kasus dasar di mana n kurang dari basis yang kami ubah menjadi. Saat kami mendeteksi kasus dasar, kami berhenti mengulang dan cukup mengembalikan string dari urutan convertString. Sejalan 6 kami memenuhi hukum kedua dan ketiga – dengan melakukan panggilan rekursif dan dengan mengurangi ukuran masalah – menggunakan pembagian

Mari telusuri algoritme lagi;

Konversi angka ke basis 5 python

Gambar 4. Mengubah Angka 10 menjadi Representasi String Basis 2

menunjukkan bahwa kita mendapatkan hasil yang kita cari, tetapi tampaknya urutan digitnya salah. Algoritme bekerja dengan benar karena kita melakukan panggilan rekursif terlebih dahulu pada baris 6, kemudian kita menambahkan representasi string dari sisanya. Jika kita mengembalikan pengembalian convertString pencarian dan mengembalikan panggilan toStr, string yang dihasilkan akan mundur. Tetapi dengan menunda operasi penggabungan sampai setelah panggilan rekursif kembali, kita mendapatkan hasil dalam urutan yang tepat. Ini seharusnya mengingatkan Anda tentang diskusi kita tentang tumpukan di bab sebelumnya

Periksa Diri

Tulis fungsi yang menggunakan string sebagai parameter dan mengembalikan True jika string adalah palindrom, jika tidak False. Ingatlah bahwa string adalah palindrom jika dieja sama baik maju maupun mundur. Sebagai contoh. radar adalah palindrom. untuk poin bonus, palindrom juga bisa berupa frasa, tetapi Anda harus menghapus spasi dan tanda baca sebelum memeriksa. Misalnya. nyonya saya adam adalah palindrom. Palindrom menyenangkan lainnya termasuk

Sistem bilangan desimal berbasis 10 karena menggunakan 10 digit dari 0 sampai 9. Dalam sistem bilangan desimal, posisi berurutan di sebelah kiri titik desimal menyatakan satuan, puluhan, ratusan, ribuan, dan seterusnya.

Biner menggunakan dua digit, 0 dan 1. Juga disebut sebagai sistem bilangan basis 2 Setiap posisi dalam bilangan biner mewakili pangkat 0 dari basis (2). Posisi terakhir dalam bilangan biner mewakili pangkat x dari basis (2)

Bilangan Oktal menggunakan delapan digit, 0,1,2,3,4,5,6,7. Juga disebut sebagai sistem bilangan basis 8. Setiap posisi dalam bilangan oktal mewakili pangkat 0 dari basis (8). Posisi terakhir dalam angka oktal mewakili pangkat x dari basis (8)

Sistem Bilangan Heksadesimal menggunakan 10 digit dan 6 huruf, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Huruf mewakili bilangan mulai dari 10. A = 10. B = 11, C = 12, D = 13, E = 14, F = 15 Disebut juga sistem bilangan berbasis 16

Bagaimana Anda mengubah angka menjadi basis 5?

Misalnya, untuk mengonversi 42. 304 ke basis 5 , kita kalikan bagian pecahan dengan 5 berulang kali hingga kita menemukan bilangan bulat . Bagian pecahan dari 42. 304 adalah 0. 304. Ketika kita mengalikan 0. 304 dengan 5 , hasilnya adalah 1. 52.

Bagaimana Anda mengonversi angka menjadi basis dengan Python?

Dengan Python, Anda cukup menggunakan fungsi bin() untuk mengonversi dari nilai desimal ke nilai biner yang sesuai . Demikian pula, fungsi int() untuk mengonversi biner menjadi nilai desimalnya. Fungsi int() mengambil sebagai argumen kedua basis angka yang akan dikonversi, yaitu 2 dalam kasus bilangan biner.

Bagaimana cara mengonversi basis 10 ke basis 6 dengan Python?

Ada cara untuk mengkonversi ke basis yang berbeda dengan membagi bilangan basis 10 dengan basis dan mengambil sisanya dan mengulanginya sampai tidak habis dibagi dan menulis hasil bagi diikuti oleh semua . (MANTAN. 50/6 = 8 R2, 8/6 = 1 R2 jadi 50 di basis 6 akan menjadi 122). . (EX. 50/6 = 8 R 2, 8/6 = 1 R2 so 50 in base 6 would be 122).

Bagaimana Anda mengubah angka menjadi basis 3 dengan Python?

Ilmu Data Praktis menggunakan Python .
jika n<0. tanda. = -1
tanda sebaliknya. = string kosong
n. =. n
jika n <3, maka. mengembalikan n sebagai string
s. = string kosong
sementara n tidak sama dengan 0, lakukan. s. = string dari (n mod 3) gabungan s. n. = hasil bagi (n / 3)
kembali tanda menggabungkan s