Desimal ke biner di java

By | November 16, 2022

Mangihin.com.

Selamat Membaca, semoga informasi ini bermanfaat dan dapat membantu anda.

Dalam entri ini kita akan menulis program java untuk mengubah angka dari desimal menjadi biner.

Untuk menulis program, kita akan mendasarkan diri pada cara klasik untuk beralih dari desimal ke biner, yaitu membagi angka dengan 2 dan menyimpan sisa pembagiannya. Angka ini, yang akan menjadi nol atau satu, adalah digit dengan bobot terkecil (paling kanan) dari bilangan biner. Selanjutnya kita membagi hasil bagi yang telah kita peroleh dengan 2 lagi dan kita simpan sisa pembagiannya. Angka ini akan menjadi angka kedua dari kanan bilangan biner. Operasi ini diulang sampai kita mendapatkan nol sebagai hasil bagi.

Secara grafis kita akan melihatnya dengan lebih jelas:

Jika kita ingin mengubah angka 12 menjadi biner, kita akan melakukan operasi berikut:

Angka 12 dalam desimal adalah 1100 dalam biner. Bilangan biner diperoleh dengan mengambil sisa dalam urutan terbalik di mana mereka diperoleh.

Bagi Anda yang sudah mengetahui sesuatu tentang Java mungkin berpikir mengapa saya ingin membuat program itu jika hanya dengan menulis instruksinya:

System.out.println(Integer.toBinaryString(angka));

nomor akan ditampilkan dalam biner.

Metode toBinaryString dari kelas Integer sudah melakukan pekerjaan untuk saya, tetapi ini adalah masalah mengembangkan algoritme yang melakukan konversi dari desimal ke biner sendiri.

Latihan ini biasanya dimunculkan ketika Anda mulai belajar struktur repetitif (while, for, do while) dan array belum diketahui, sehingga solusi yang diajukan tidak menggunakan array dan oleh karena itu solusi ini walaupun benar, hanya benar valid untuk bilangan bulat yang relatif kecil.

/**
 * Programa que pasa un nmero
 * de decimal a binario
 * @author Enrique Garca
 */
public class Main{

    public static void main(String[] args) {

        int numero, exp, digito;
        double binario;
        Scanner sc = new Scanner(System.in);

        do{ 
            System.out.print("Introduce un numero entero >= 0: ");                                                
            numero = sc.nextInt();
        }while(numero