Bagaimana untuk Mengekstrak Perwakilan Bit daripada Bytes dalam Go?

Patricia Arquette
Lepaskan: 2024-11-04 02:49:02
asal
1005 orang telah melayarinya

How to Extract Bit Representations from Bytes in Go?

Cara Mendapatkan Perwakilan Bit daripada Bait dalam Go

Masalah:

Tentukan perwakilan bit bagi bait, seperti sebagai mendapat "00000001" daripada byte(1).

Penyelesaian:

Terdapat dua pendekatan untuk mengekstrak perwakilan bit:

  1. Visual Perwakilan Menggunakan Pemformatan:

    • Gunakan fmt.Sprintf("b", ...). Ini menjana perwakilan rentetan bit bait dengan sifar pendahuluan untuk memastikan format 8-bit.
  2. Operasi Bitwise untuk Operasi Matematik:

    • Kira bit tertentu menggunakan bitwise DAN operator.
    • Buat topeng dengan menetapkan bit yang diingini kepada 1 dan yang lain kepada 0 (2n-1).
    • Lakukan bitwise AND daripada bait dan topeng.
    • Jika hasilnya sama dengan topeng, bitnya ialah 1; jika tidak, ia ialah 0.

Contoh:

Untuk mencari bit bait(13):

<code class="go">fmt.Print(13 & 1) // Output: 1
fmt.Print(13 & 2) // Output: 0
fmt.Print(13 & 4) // Output: 4
fmt.Print(13 & 8) // Output: 8</code>
Salin selepas log masuk

Ini menunjukkan bahawa perwakilan bit 13 ialah "00001101".

Nota Tambahan:

Untuk mengira jarak Hamming antara bait, kod yang disediakan menggunakan operasi bitwise untuk membandingkan setiap bit secara individu. Fungsi ini mengira bilangan bit yang tidak sepadan dan mengembalikan jarak.

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Perwakilan Bit daripada Bytes dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!