Langkau ke kandungan

Pengubah Perduaan ke Perpuluhan | Alat Dalam Talian Percuma

Tukar antara perduaan dan perpuluhan dengan serta-merta. Alat percuma dengan penjelasan langkah demi langkah, contoh kod, dan kes penggunaan praktikal untuk pembangun dan pelajar.

Pengubah Perduaan-Perpuluhan

Tukar antara sistem nombor perduaan dan perpuluhan dengan serta-merta.

Nombor perduaan menggunakan 0 dan 1 sahaja

Nombor perpuluhan menggunakan digit 0-9

Masukkan nilai dalam mana-mana medan untuk melihat penukaran dalam medan yang lain.

Kalkulator Pemuatan...
📚

Dokumentasi

Pengubah Perduaan ke Perpuluhan: Tukar Antara Sistem Nombor Serta-merta

Pernahkah anda memandang satu rentetan 1 dan 0 sambil tertanya-tanya nombor sebenar yang mereka wakili? Jika anda bekerja dengan komputer pada tahap mana pun—sama ada anda sedang menyahpepijat isu rangkaian, pengaturcaraan mikropengawal, atau sekadar ingin tahu bagaimana komputer berfikir—anda akhirnya perlu menukar antara perduaan dan perpuluhan.

Alat ini mengendalikan penukaran serta-merta dalam kedua-dua arah. Taip nombor anda di mana-mana medan dan saksikan terjemahan berlaku. Lebih penting lagi, anda akan melihat bagaimana penukaran berlaku, yang penting apabila anda cuba memahami apa yang berlaku di bawah kod anda.

Inilah yang menjadikan penukaran perduaan-perpuluhan mencabar: otak kita diprogramkan untuk asas-10 (kita mempunyai sepuluh jari, lagipun), tetapi komputer beroperasi secara eksklusif dalam asas-2. Setiap keping data—teks, imej, video, sejarah pelayaran anda—akhirnya pecah kepada jujukan 0 dan 1. Memahami hubungan ini bukan sekadar akademik; ia adalah pengetahuan praktikal yang muncul apabila bekerja dengan alamat IP, keizinan fail, operasi bitwise, dan alamat memori.

Berita baiknya? Sebaik sahaja anda faham corak tersebut, penukaran menjadi mudah. Matematiknya mudah—ia hanya penggandaan dan penambahan (atau pembahagian untuk arah sebaliknya). Yang menyulitkan orang ialah menjejaki nilai kedudukan, terutamanya dengan nombor yang lebih panjang. Itulah yang tepat diselesaikan oleh pengubah ini.

Cara Menukar Perduaan ke Perpuluhan dan Perpuluhan ke Perduaan

Memahami Sistem Perpuluhan (Asas-10)

Anda sudah mengenali perpuluhan—iaitu yang dipelajari di sekolah rendah. Kita menggunakan sepuluh digit (0-9), dan setiap kedudukan mewakili kuasa 10:

Nombor perpuluhan=dn×10n+dn1×10n1+...+d1×101+d0×100\text{Nombor perpuluhan} = d_n \times 10^n + d_{n-1} \times 10^{n-1} + ... + d_1 \times 10^1 + d_0 \times 10^0

Ambil nombor 427. Pecahkan mengikut kedudukan:

  • 4 × 10² = 400 (tempat ratus)
  • 2 × 10¹ = 20 (tempat puluhan)
  • 7 × 10⁰ = 7 (tempat unit)

Tambahkan nilai-nilai ini: 400 + 20 + 7 = 427

Kita menerima notasi kedudukan ini sebagai sesuatu yang biasa, tetapi ia adalah penemuan revolusioner. Sebelum sistem kedudukan, aritmetik sangat rumit (cuba darabkan nombor Roman).

Memahami Sistem Perduaan (Asas-2)

Perduaan berfungsi sama seperti perpuluhan, hanya dengan kuasa 2 dan bukannya kuasa 10. Anda hanya mempunyai dua digit—0 dan 1:

Nombor perduaan=bn×2n+bn1×2n1+...+b1×21+b0×20\text{Nombor perduaan} = b_n \times 2^n + b_{n-1} \times 2^{n-1} + ... + b_1 \times 2^1 + b_0 \times 2^0

Ambil nombor perduaan 1010. Setiap kedudukan dari kanan ke kiri mewakili 1, 2, 4, 8, 16, dan seterusnya:

  • 1 × 2³ = 8
  • 0 × 2² = 0
  • 1 × 2¹ = 2
  • 0 × 2⁰ = 0

Tambahkan nilai-nilai ini: 8 + 0 + 2 + 0 = 10 dalam perpuluhan

Corak adalah sama seperti perpuluhan, hanya dengan asas yang berbeza. Sebaik sahaja anda memahaminya, perduaan menjadi semula jadi seperti membaca nombor biasa.

Penukaran Binari ke Perpuluhan Rumus dan Kaedah

Binari ke Perpuluhan: Matematik di Sebaliknya

Menukar binari ke perpuluhan mengikuti corak yang mudah: darab setiap digit dengan kuasa 2 untuk kedudukannya, kemudian tambahkan semua. Rumus kelihatan seperti ini:

Perpuluhan=i=0nbi×2i\text{Perpuluhan} = \sum_{i=0}^{n} b_i \times 2^i

Di mana:

  • bib_i adalah setiap digit binari (sama ada 0 atau 1)
  • ii adalah kedudukan yang dikira dari kanan ke kiri (bermula pada 0)
  • nn adalah jumlah digit tolak 1

Kedengaran rumit? Sebenarnya mudah dalam amali. Setiap kedudukan dari kanan ke kiri mewakili 1, 2, 4, 8, 16, 32, dan seterusnya—berganda setiap kali.

Contoh: Menukar binari 1101 ke perpuluhan

  1. 1 × 2³ = 8
  2. 1 × 2² = 4
  3. 0 × 2¹ = 0
  4. 1 × 2⁰ = 1
  5. Jumlah: 8 + 4 + 0 + 1 = 13 perpuluhan

Perhatikan bagaimana kita hanya menambah kedudukan yang mempunyai 1. Angka 0 tidak menyumbang apa-apa, jadi anda boleh melompatinya secara mental. Ini 1101 pecah kepada kedudukan 0, 2, dan 3 (yang sama dengan 1 + 4 + 8 = 13).

Perpuluhan ke Binari: Kaedah Pembahagian

Bergerak ke arah sebaliknya—perpuluhan ke binari—menggunakan pendekatan yang berbeza. Anda membahagi berulang kali dengan 2 dan mengumpul baki:

  1. Bahagikan nombor perpuluhan anda dengan 2
  2. Tulis baki (sentiasa 0 atau 1)
  3. Ambil kuotien dan bahagikan semula dengan 2
  4. Teruskan sehingga kuotien mencapai 0
  5. Baca semua baki dari bawah ke atas

Contoh: Menukar perpuluhan 25 ke binari

  1. 25 ÷ 2 = 12 baki 1
  2. 12 ÷ 2 = 6 baki 0
  3. 6 ÷ 2 = 3 baki 0
  4. 3 ÷ 2 = 1 baki 1
  5. 1 ÷ 2 = 0 baki 1
  6. Membaca dari bawah ke atas: 11001 binari

Petua utama adalah mengingat untuk membalikkan urutan. Baki pertama yang anda kira menjadi digit terakhir (paling kanan) dalam hasil binari anda. Ini mengelirukan orang pada mulanya, tetapi masuk akal apabila anda menyedari anda pada asasnya mengupas bit yang kurang signifikan terlebih dahulu.

Cara Menggunakan Pengubah Ini

Alat ini berfungsi dua hala—taip di mana-mana medan dan lihat medan lain dikemas kini serta-merta. Tiada butang untuk diklik, tiada borang untuk diserahkan.

Menukar Perduaan kepada Perpuluhan

Taip nombor perduaan anda (hanya 0 dan 1) ke dalam medan Perduaan. Setara perpuluhan akan muncul serta-merta. Jika anda tidak sengaja memasukkan 2 atau digit tidak sah lain, anda akan mendapat mesej ralat.

Petua pro: Anda boleh menampal nilai perduaan terus dari kod, lembaran data, atau penganalisis rangkaian. Alat ini secara automatik membuang ruang dan awalan biasa seperti 0b.

Menukar Perpuluhan kepada Perduaan

Masukkan mana-mana integer bukan negatif dalam medan Perpuluhan, dan representasi perduaan akan muncul serta-merta. Berfungsi untuk apa-apa sahaja dari 0 hingga lebih 9 kuadrilion.

Kes penggunaan biasa: Apabila anda menetapkan bendera bit dalam kod dan perlu mengesahkan bit mana yang ditetapkan. Taip 255 dan anda akan melihat 11111111—semua 8 bit dalam bait dihidupkan.

Memahami Pecahan

Di bawah medan input, anda akan melihat langkah demi langkah matematik di sebalik setiap penukaran. Ini sangat berguna apabila belajar atau apabila anda perlu menjelaskan penukaran kepada orang lain. Untuk perduaan ke perpuluhan, ia menunjukkan nilai setiap kedudukan dan bagaimana ia dijumlahkan. Untuk perpuluhan ke perduaan, ia menunjukkan proses pembahagian-dengan-2.

Proses Penukaran Perduaan ke Perpuluhan Ilustrasi cara nombor perduaan ditukar kepada nilai perpuluhan

Penukaran Perduaan ke Perpuluhan

Nombor Perduaan: 1 0 1 0

Nilai kedudukan:

1 0 1 0

2³ = 8 2² = 4 2¹ = 2 2⁰ = 1

Pengiraan: 1 × 8 + 0 × 4 + 1 × 2 + 0 × 1 = 8 + 0 + 2 + 0 = 10

Perpuluhan: 10

Aplikasi Pengubah Binari: Kes Penggunaan Dunia Sebenar

Dalam amalan, penukaran binari-desimal muncul lebih kerap daripada yang anda jangkakan. Berikut adalah senario di mana saya mendapati penukaran ini sangat berguna:

Sains Komputer dan Pengaturcaraan

Semasa menyahpepijat isu memori, anda sering melihat alamat dalam heksadesimal (yang sebenarnya adalah binari berkumpulan). Menukar ke desimal membantu anda mengira ofset atau mengesahkan anda mengakses lokasi yang betul. Begitu juga, operasi bitwise menjadi lebih masuk akal apabila anda dapat memvisualisasikan representasi binari—cuba fahami x & (x-1) tanpa melihat bit dalam tindakan.

Perangkap biasa: lupa bahawa anjakan bitwise sebenarnya hanyalah pendaraban atau pembahagian dengan kuasa 2. Apabila x << 3 muncul dalam kod, mengenali ini sebagai "darab dengan 8" (2³) membantu anda memahami pengoptimuman prestasi.

Elektronik Digital

Lembaran data mikropengawal menyatakan konfigurasi register dalam heks dan binari. Semasa menetapkan pin GPIO atau mengkonfigurasi pemasa, anda perlu membalikkan bit tertentu tanpa menjejaskan yang lain. Ini memerlukan pemahaman tepat bit mana yang sepadan dengan nilai desimal tertentu. Contohnya, menetapkan bit 5 bermakna menambah 32 (2⁵) pada nilai register anda.

Kejuruteraan Rangkaian

Alamat IPv4 sebenarnya adalah nombor binari 32-bit yang dibahagikan kepada empat oktet. Apabila anda melihat 192.168.1.1 dan perlu memahami topeng subnet, anda sedang bekerja dengan binari. Cuba kira sama ada 192.168.1.50 dan 192.168.1.200 berada dalam rangkaian /25 yang sama tanpa penukaran binari—hampir mustahil. Menurut RFC 791, alamat IP pada asasnya beroperasi sebagai nilai binari, walaupun kita menulis dalam desimal untuk kemudahan.

Keizinan Fail (Unix/Linux)

Kod keizinan tiga digit seperti 755 atau 644? Setiap digit sebenarnya adalah oktal (asas-8), yang menukar dengan mudah kepada kumpulan binari 3-bit. Apabila anda menetapkan keizinan kepada 755, anda sebenarnya mengatakan 111 101 101 dalam binari—kebenaran penuh untuk pemilik, baca+lakukan untuk kumpulan, baca+lakukan untuk yang lain. Memahami asas binari ini menjadikan operasi chmod intuitif dan bukannya hafalan.

Contoh: Menukar Alamat IP

Alamat IPv4 seperti 192.168.1.1 boleh diwakili dalam binari sebagai:

  • 192 = 11000000
  • 168 = 10101000
  • 1 = 00000001
  • 1 = 00000001

Digabungkan: 11000000.10101000.00000001.00000001

Sistem Nombor Lain yang Anda Akan Temui

Binari dan desimal bukanlah satu-satunya pemain dalam pengkomputeran. Berikut adalah sistem nombor lain yang anda akan temui:

Heksadesimal (Asas-16)

Heks ada di mana-mana dalam pengaturcaraan—alamat memori, kod warna, bahasa perakitan. Ia menggunakan digit 0-9 dan huruf A-F. Keindahan heks ialah setiap digit dipetakan dengan tepat kepada 4 bit binari, menjadikannya cara yang lebih mudah dibaca untuk menulis binari.

Contoh: Binari 1010 1101 = Heks AD (lwn desimal 173)

Apabila anda melihat kod warna seperti #FF5733, itulah heks—setiap pasangan mewakili nilai merah, hijau, dan biru. FF (255 dalam desimal) bermakna intensiti merah maksimum.

Oktal (Asas-8)

Oktal menggunakan digit 0-7, dengan setiap digit mewakili tepat 3 bit binari. Walaupun kurang biasa hari ini, anda masih melihatnya dalam keizinan Unix (chmod 755) dan kadang-kadang dalam sistem warisan. Ia popular dalam pengkomputeran awal kerana banyak komputer menggunakan saiz perkataan yang merupakan gandaan 3.

Contoh: Binari 101 011 = Oktal 53

Perpuluhan Berkod Binari (BCD)

BCD mewakili setiap digit perpuluhan dengan kod binari 4-bit tersendiri. Daripada menukar keseluruhan nombor, anda menukar setiap digit berasingan. Ini membazirkan ruang (anda hanya menggunakan 10 daripada 16 kombinasi 4-bit yang mungkin) tetapi menjadikan aritmetik perpuluhan lebih mudah dalam perkakasan. Anda akan jumpai BCD dalam kalkulator, jam digital, dan sistem kewangan di mana ketepatan perpuluhan penting.

Contoh: Desimal 42 dalam BCD = 0100 0010 (4 dan 2 dikod berasingan)

Sejarah Sistem Nombor Perduaan dan Perpuluhan

Mengapa Kita Mengira dalam Sepuluh

Perpuluhan terasa semula jadi kerana kita mempunyai sepuluh jari—serius, itulah alasannya. Tamadun purba membangunkan sistem asas-10 secara bebas di seluruh dunia. Orang Mesir menggunakan angka hieroglif asas-10 sekitar 3000 SM. Orang Babilonia mencampurkan asas-60 dan asas-10 (itulah sebabnya kita masih mempunyai 60 saat dalam satu minit). Tetapi pencapaian sebenar datang daripada ahli matematik India sekitar 500 CE apabila mereka mencipta sifar dan notasi posisi—sistem di mana kedudukan digit menentukan nilainya. Inovasi ini tersebar melalui matematika Arab ke Eropah menjelang 800 CE, memberikan kita "angka Hindu-Arab" yang kita gunakan hari ini.

Sejarah Binary yang Mengejutkan

Binary mendahului komputer sejak berabad-abad. I Ching, teks purba China dari sekitar 1000 SM, menggunakan garisan terputus dan tidak terputus dalam corak yang sangat menyerupai notasi binary. Tetapi aritmetik binary formal tidak muncul sehingga 1679 apabila Gottfried Wilhelm Leibniz menerbitkan "Penjelasan Aritmetik Binary". Leibniz terpesona dengan keanggunan binary—anda boleh mewakili sebarang nombor dengan hanya dua simbol.

Keajaiban sebenar berlaku apabila George Boole membangunkan algebra Boolean pada 1854, menggunakan nilai binary benar/salah untuk mewakili operasi logik. Kemudian datang sambungan penting: pada 1937, tesis sarjana Claude Shannon membuktikan anda boleh melaksanakan algebra Boolean menggunakan litar elektrik. Satu pandangan ini meletakkan asas untuk setiap komputer digital yang pernah dibina.

Revolusi Komputer

John Atanasoff dan Clifford Berry mereka bentuk komputer digital elektronik pertama menggunakan binary pada 1939. John von Neumann memformalisasikan seni bina program tersimpan pada 1945, di mana data dan arahan wujud sebagai kod binary dalam memori—model yang masih kita gunakan hari ini. Menjelang 1953, IBM menjual komputer binary komersial. Standard ASCII 1963 akhirnya memberikan kita cara bersatu untuk mewakili aksara teks dalam binary.

Yang menakjubkan ialah setiap kemajuan dalam pengkomputeran—dari kad punch hingga telefon pintar—masih beroperasi secara asasnya dalam binary. Kita hanya menjadi sangat mahir dalam menyembunyikan kerumitan itu di sebalik lapisan pengabstrakan.

Contoh Kod Binary ke Decimal untuk Pembangun

Perlu melaksanakan penukaran ini dalam kod anda sendiri? Berikut adalah implementasi yang bersih dan sedia untuk pengeluaran dalam beberapa bahasa. Setiap contoh termasuk pengesahan input kerana pengguna pasti akan melekapkan data yang tidak sah.

Kebanyakan bahasa moden mempunyai fungsi bawaan untuk ini—parseInt(str, 2) dalam JavaScript, int(str, 2) dalam Python, Integer.parseInt(str, 2) dalam Java. Contoh-contoh ini menunjukkan cara menggunakan fungsi bawaan dan bagaimana logik penukaran sebenarnya berfungsi:

JavaScript

1// Penukaran Binary ke Decimal
2function binaryToDecimal(binary) {
3  if (!/^[01]+$/.test(binary)) {
4    return "Nombor binary tidak sah";
5  }
6  return parseInt(binary, 2);
7}
8
9// Penukaran Decimal ke Binary
10function decimalToBinary(decimal) {
11  if (!/^\d+$/.test(decimal) || decimal < 0) {
12    return "Nombor decimal tidak sah";
13  }
14  return Number(decimal).toString(2);
15}
16
17// Contoh penggunaan
18console.log(binaryToDecimal("1010")); // Keluaran: 10
19console.log(decimalToBinary("42"));   // Keluaran: 101010
20

Python

1# Penukaran Binary ke Decimal
2def binary_to_decimal(binary):
3    try:
4        # Semak jika input mengandungi hanya 0 dan 1
5        if not all(bit in '01' for bit in binary):
6            return "Nombor binary tidak sah"
7        return int(binary, 2)
8    except ValueError:
9        return "Nombor binary tidak sah"
10
11# Penukaran Decimal ke Binary
12def decimal_to_binary(decimal):
13    try:
14        # Semak jika input adalah integer bukan negatif
15        decimal = int(decimal)
16        if decimal < 0:
17            return "Nombor decimal tidak sah"
18        return bin(decimal)[2:]  # Buang awalan '0b'
19    except ValueError:
20        return "Nombor decimal tidak sah"
21
22# Contoh penggunaan
23print(binary_to_decimal("1010"))  # Keluaran: 10
24print(decimal_to_binary("42"))    # Keluaran: 101010
25

Java

1public class BinaryDecimalConverter {
2    // Penukaran Binary ke Decimal
3    public static int binaryToDecimal(String binary) {
4        if (!binary.matches("[01]+")) {
5            throw new IllegalArgumentException("Nombor binary tidak sah");
6        }
7        return Integer.parseInt(binary, 2);
8    }
9    
10    // Penukaran Decimal ke Binary
11    public static String decimalToBinary(int decimal) {
12        if (decimal < 0) {
13            throw new IllegalArgumentException("Nombor negatif tidak disokong");
14        }
15        return Integer.toBinaryString(decimal);
16    }
17    
18    public static void main(String[] args) {
19        System.out.println(binaryToDecimal("1010"));  // Keluaran: 10
20        System.out.println(decimalToBinary(42));      // Keluaran: 101010
21    }
22}
23

C++

1#include <iostream>
2#include <string>
3#include <cmath>
4#include <regex>
5
6// Penukaran Binary ke Decimal
7int binaryToDecimal(const std::string& binary) {
8    // Semak jika input mengandungi hanya 0 dan 1
9    if (!std::regex_match(binary, std::regex("[01]+"))) {
10        throw std::invalid_argument("Nombor binary tidak sah");
11    }
12    
13    int decimal = 0;
14    for (int i = 0; i < binary.length(); i++) {
15        if (binary[binary.length() - 1 - i] == '1') {
16            decimal += std::pow(2, i);
17        }
18    }
19    return decimal;
20}
21
22// Penukaran Decimal ke Binary
23std::string decimalToBinary(int decimal) {
24    if (decimal < 0) {
25        throw std::invalid_argument("Nombor negatif tidak disokong");
26    }
27    
28    if (decimal == 0) {
29        return "0";
30    }
31    
32    std::string binary = "";
33    while (decimal > 0) {
34        binary = (decimal % 2 == 0 ? "0" : "1") + binary;
35        decimal /= 2;
36    }
37    return binary;
38}
39
40int main() {
41    std::cout << binaryToDecimal("1010") << std::endl;  // Keluaran: 10
42    std::cout << decimalToBinary(42) << std::endl;      // Keluaran: 101010
43    return 0;
44}
45

Excel

1' Penukaran Binary ke Decimal
2Function BinaryToDecimal(binary As String) As Variant
3    ' Semak jika input mengandungi hanya 0 dan 1
4    Dim i As Integer
5    For i = 1 To Len(binary)
6        If Mid(binary, i, 1) <> "0" And Mid(binary, i, 1) <> "1" Then
7            BinaryToDecimal = CVErr(xlErrValue)
8            Exit Function
9        End If
10    Next i
11    
12    BinaryToDecimal = Application.WorksheetFunction.Bin2Dec(binary)
13End Function
14
15' Penukaran Decimal ke Binary
16Function DecimalToBinary(decimal As Long) As String
17    If decimal < 0 Then
18        DecimalToBinary = CVErr(xlErrValue)
19        Exit Function
20    End If
21    
22    DecimalToBinary = Application.WorksheetFunction.Dec2Bin(decimal)
23End Function
24
25' Contoh penggunaan dalam sel:
26' =BinaryToDecimal("1010")  ' Keluaran: 10
27' =DecimalToBinary(42)      ' Keluaran: 101010
28

Soalan Lazim Tentang Penukaran Perduaan ke Perpuluhan

Apakah nombor perduaan?

Nombor perduaan menggunakan hanya dua digit—0 dan 1—untuk mewakili nilai. Setiap digit dipanggil bit (digit perduaan). Bayangkan seperti suis lampu: sama ada mati (0) atau hidup (1). Walaupun kelihatan terhad, anda boleh mewakili sebarang nombor dengan menghubungkan beberapa bit, sama seperti anda boleh menulis sebarang perkataan menggunakan hanya 26 huruf.

Mengapa komputer menggunakan perduaan dan bukannya perpuluhan?

Inilah sebab praktikalnya: membina komponen elektronik yang boleh membezakan antara sepuluh tahap voltan (untuk perpuluhan) adalah mahal dan mudah ralat. Dua keadaan—voltan tinggi vs voltan rendah, termagnetan vs tidak termagnetan—jauh lebih boleh dipercayai dan murah untuk dihasilkan. Claude Shannon membuktikan dalam tesis sarjana mudanya pada 1937 bahawa logik Boolean (yang menggunakan nilai perduaan) boleh mewakili sebarang operasi logik, meletakkan asas untuk litar digital moden. Anda boleh membaca lebih lanjut tentang asas algebra Boolean dalam entri Ensiklopedia Falsafah Stanford tentang algebra Boolean.

Bagaimana saya menukar nombor perduaan ke perpuluhan secara manual?

Untuk menukar nombor perduaan ke perpuluhan secara manual:

  1. Tulis nombor perduaan
  2. Berikan pemberat kepada setiap kedudukan (dari kanan ke kiri: 1, 2, 4, 8, 16, dsb.)
  3. Darabkan setiap digit perduaan dengan pemberat
  4. Tambahkan semua keputusan

Contohnya, perduaan 1101: 1×8 + 1×4 + 0×2 + 1×1 = 8 + 4 + 0 + 1 = 13

Bagaimana saya menukar nombor perpuluhan ke perduaan secara manual?

Untuk menukar nombor perpuluhan ke perduaan secara manual:

  1. Bahagikan nombor perpuluhan dengan 2
  2. Tulis baki (0 atau 1)
  3. Bahagikan kuotien dengan 2
  4. Ulang sehingga kuotien menjadi 0
  5. Baca baki dari bawah ke atas

Contohnya, perpuluhan 13: 13 ÷ 2 = 6 baki 1 6 ÷ 2 = 3 baki 0 3 ÷ 2 = 1 baki 1 1 ÷ 2 = 0 baki 1 Membaca dari bawah ke atas: 1101

Bolehkah pengubah ini mengendalikan nombor negatif?

Tidak pada masa ini—alat ini fokus pada integer bukan negatif, yang meliputi majoriti keperluan penukaran praktikal. Nombor perduaan negatif memerlukan kerumitan tambahan: komputer biasanya menggunakan representasi "pelengkap dua", di mana anda membalikkan semua bit dan menambah 1. Walaupun menarik (dan penting untuk pengaturcaraan tahap rendah), ia adalah topik berasingan yang memerlukan penjelasan tersendiri.

Jika anda bekerja dengan integer bertanda dalam pengaturcaraan, kebanyakan bahasa mengendalikan matematik pelengkap dua secara automatik. Anda jarang perlu menukar perpuluhan negatif ke perduaan secara manual melainkan anda sedang menyahpepijat pada tahap pemasangan atau bekerja dengan sistem terbenam.

Apakah nombor terbesar yang boleh saya tukar dengan alat ini?

Alat ini mengendalikan nombor sehingga had integer selamat JavaScript: 2⁵³ - 1, iaitu 9,007,199,254,740,991 dalam perpuluhan atau 53 bit dalam perduaan. Itu lebih daripada 9 kuadriliun—lebih daripada mencukupi untuk sebarang aplikasi praktikal.

Untuk perspektif, integer 32-bit mencapai maksimum kira-kira 2.1 bilion (2³¹ - 1 untuk bertanda). Jadi alat ini meliputi julat 32-bit dan 53-bit dengan selesa. Jika anda perlu bekerja dengan nombor yang lebih besar (kunci kriptografik, contohnya), anda memerlukan perpustakaan ketepatan arbitrari seperti jenis int bawaan Python atau BigInt JavaScript.

[Terjemahan diteruskan...]

Rujukan dan Bacaan Lanjut

  1. Knuth, Donald E. "Seni Pengaturcaraan Komputer, Jilid 2: Algoritma Seminumerik." Addison-Wesley, 1997.

  2. Shannon, Claude E. "Analisis Simbolik Litar Relay dan Pertukaran." Transaksi Institut Kejuruteraan Elektrik Amerika, jil. 57, no. 12, 1938, ms. 713-723. Tersedia di IEEE Xplore

  3. Leibniz, Gottfried Wilhelm. "Penjelasan Aritmetik Binari". Mémoires de l'Académie Royale des Sciences, 1703.

  4. Boole, George. "Penyiasatan Undang-undang Pemikiran." Penerbitan Dover, 1854 (diterbitkan semula 1958).

  5. Ifrah, Georges. "Sejarah Sejagat Nombor: Dari Prasejarah hingga Penemuan Komputer." Wiley, 2000.

  6. "POSIX.1-2017: chmod." Spesifikasi Asas Kumpulan Terbuka. https://pubs.opengroup.org/onlinepubs/9699919799/utilities/chmod.html

  7. "RFC 791: Protokol Internet." Kumpulan Kejuruteraan Internet (IETF), 1981. https://tools.ietf.org/html/rfc791

  8. "Manual Pembangun Perisian Seni Bina Intel 64 dan IA-32." Syarikat Intel. https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html

Mulakan Penukaran Sekarang

Pengubah di bahagian atas halaman ini mengendalikan penukaran serta-merta dalam kedua-dua arah. Taip nombor anda di mana-mana medan dan lihat hasilnya serta-merta, bersama-sama dengan pecahan matematik yang menunjukkan cara penukaran berlaku.

Apa yang anda dapat:

  • Penukaran segera antara perduaan dan perpuluhan
  • Penjelasan visual proses penukaran
  • Sokongan untuk nombor sehingga 53 bit (lebih daripada 9 kuadrilion)
  • Penyalinan hasil dengan satu klik
  • Tiada pendaftaran, tiada kos, berfungsi pada mana-mana peranti

Sama ada anda sedang menyahpepijat konfigurasi rangkaian, menetapkan keizinan fail, atau mempelajari seni bina komputer, memahami penukaran perduaan-perpuluhan adalah kemahiran asas. Alat ini menjadikannya mudah.