Python cetak biner dengan angka nol di depan

pemrograman

Jawa

panjang

biner

nomor

mengubah

2 lagi

[Sunting]

EN

Java - mengonversi panjang ke String biner dengan angka nol di depan

2 kontributor

7 kontribusi

0 diskusi

11 poin

Dibuat oleh

Python cetak biner dengan angka nol di depan
Root-ssh

157120

Solusi singkat

long number = 10_000_000_000L;

String binaryString = Long.toBinaryString(number);
String withLeadingZeros = String.format("%64s", binaryString).replace(' ', '0');

// 1001010100000010111110010000000000
System.out.println(binaryString);

// 0000000000000000000000000000001001010100000010111110010000000000
System.out.println(withLeadingZeros);

Dalam java cara sederhana untuk mengonversi panjang ke String biner dengan angka nol di depan adalah dengan menggunakan metode Long.toBinaryString(number) dan String.format().  
Perhatikan bahwa sebagai param pertama dalam format String, kami meneruskan jumlah spasi awal dan kami mengganti semua spasi dengan 0. Biasanya kami menggunakan 32 atau 64 bantalan nol

1. Mengkonversi panjang ke String biner dengan angka nol di depan

public class Example1 {

    public static void main(String[] args) {

        long number = 8;

        String binary = Long.toBinaryString(number);
        String padding = String.format("%8s", binary).replace(' ', '0');
        String numberPadding = String.format("%4s", number);

        System.out.println("long | binary");
        System.out.println(numberPadding + " - " + padding);
    }
}
_

Keluaran

long | binary
   8 - 00001000

2. Mengonversi String panjang ke biner yang besar - padding panjang 64

public class Example2 {

    public static void main(String[] args) {

        long number = 31L * Integer.MAX_VALUE;

        String binary = Long.toBinaryString(number);
        String padding = String.format("%64s", binary).replace(' ', '0');

        System.out.println("long:");
        System.out.println(number);
        System.out.println("binary (64 length padding):");
        System.out.println(padding);
    }
}

Keluaran

long:
66571993057
binary (64 length padding):
0000000000000000000000000000111101111111111111111111111111100001
_

3. Cetak panjang ke biner - antara 0 dan 8 dengan angka nol di depan

public class Example3 {

    public static void main(String[] args) {

        System.out.println("long | binary");

        for (long i = 0; i <= 8; i++) {

            String binary = Long.toBinaryString(i);
            String padding = String.format("%8s", binary).replace(' ', '0');
            String intPadding = String.format("%4s", i);

            System.out.println(intPadding + " - " + padding);
        }
    }
}

Keluaran

long | binary
   0 - 00000000
   1 - 00000001
   2 - 00000010
   3 - 00000011
   4 - 00000100
   5 - 00000101
   6 - 00000110
   7 - 00000111
   8 - 00001000
_

Pertanyaan yang digabungkan

  1. Java - mengonversi representasi String panjang ke biner dengan angka nol di depan
  2. Bagaimana cara membuang panjang ke string biner dengan padding hingga 64 digit di java?
  3. Java - cetak panjang dalam format biner dengan angka nol di depan

Dimulai dengan Python 3. 6, Anda dapat menggunakan f-string. Ini dapat dilakukan dengan mengawali string literal dengan f atau F. Begini tampilan kodenya

1

2

3

4

5

6

7

jika __nama__ == '__main__'.

 

    x = 100

 

    biner = f'{x. 08b}'

    cetak(biner)    # 01100100

 

Unduh  Jalankan Kode

3. Menggunakan format()_ fungsi bawaan

Pilihan lainnya adalah menggunakan fungsi bawaan format(value[, format_spec]) yang mengubah value yang ditentukan menjadi string yang diformat sesuai dengan spesifikasi pemformatan format_spec. Berikut adalah contoh penggunaannya

1

2

3

4

5

6

7

jika __nama__ == '__main__'.

 

    x = 100

 

    biner = format(x, "08b")

    cetak(biner)    # 01100100

 

Unduh  Jalankan Kode

4. Menggunakan bin() fungsi bawaan

Terakhir, Anda dapat menggunakan fungsi bawaan bin(), yang mengubah bilangan bulat menjadi string biner yang diawali dengan b1. Anda dapat menggunakan slicing untuk menghilangkan awalan, seperti yang ditunjukkan di bawah ini

Bagaimana Anda terus memimpin angka nol dalam biner dengan Python?

format(num, name) fungsi dengan nama sebagai "0nb" untuk mengonversi bilangan bulat menjadi string biner dengan nol di depan hingga panjang n.

Bagaimana Anda mencetak angka dengan nol di depan dengan Python?

Tambahkan angka nol di depan ke angka dengan Python # .
Gunakan kelas str() untuk mengonversi angka menjadi string
Gunakan str. zfill() metode untuk menambahkan angka nol di depan ke string
Metode ini mengambil lebar string dan melapisinya dengan angka nol di depan

Bagaimana cara mencetak angka biner dengan Python tanpa 0b?

Agar biner positif atau negatif mencetaknya tanpa awalan '0b' atau awalan '-0b', Anda cukup menggunakan string. replace() metode dan ganti setiap kemunculan 'b' dengan '0' . String yang dihasilkan benar secara matematis karena awalan '0' tidak mengubah nilai angka.

Bagaimana Anda mencetak biner dengan Python?

Untuk mencetak nilai biner dari bilangan bulat tertentu, kita menggunakan fungsi bin() yang menerima angka sebagai argumen dan mengembalikan nilai biner.