Apakah ada alternatif untuk bit?

42

Apakah ada alternatif untuk bit sebagai unit data terkecil? Sesuatu yang tidak hanya 0 atau 1, tetapi sebenarnya memiliki banyak kemungkinan kondisi di antaranya? Bukankah lebih alami menyimpan float seperti itu?

Dokkat
sumber
8
Anda membutuhkan jumlah negara bagian yang tidak terbatas untuk dapat menyimpan pelampung yang sewenang-wenang, jadi ini tidak bisa dilakukan.
ChrisF
2
@ ChrisF: Bisakah Anda mewakili jumlah float dengan jumlah bit terbatas?
pengguna tidak diketahui
11
@userunknown - tidak, Anda tidak bisa. Itulah sebabnya aritmatika floating point rawan kesalahan. Apa yang saya coba katakan adalah memiliki lebih banyak status tidak akan benar-benar menyelesaikan apa pun.
ChrisF
6
Ini mungkin menarik: thedailywtf.com/Articles/What_Is_Truth_0x3f_.aspx
Chris Cudmore
5
Tidak mungkin untuk secara unik mewakili jumlah pelampung berbeda yang tak terbatas. Anda perlu menyimpan informasi dalam jumlah tak terbatas untuk secara unik mengidentifikasi satu infinifloat, yang tidak dapat dilakukan dalam jumlah ruang terbatas karena fisika . Penyimpanan informasi yang melebihi jumlah tertentu dalam volume tertentu memerlukan kepadatan sedemikian rupa sehingga isinya akan dihancurkan secara gravitasi hingga MAX_DENSITY dalam waktu terbatas, bahkan jika mereka dapat bepergian pada MAX_SPEED (lebih dikenal sebagai 'kecepatan cahaya'): hitam lubang . Lihat en.wikipedia.org/wiki/Bekenstein_bound untuk implikasi CompSci.

Jawaban:

59

Tentu saja mungkin, baik secara teoritis maupun praktis.

Secara teoritis, ada dua kelas alternatif: sistem bilangan digital dengan basis selain 2 (pada kenyataannya, sistem desimal seperti yang kita tahu adalah salah satu sistem tersebut); dan sistem angka non-digital. Secara matematis, kita berbicara tentang domain diskrit vs berkelanjutan.

Dalam praktiknya, kedua opsi telah dieksplorasi. Beberapa komputer digital awal (misalnya ENIAC) menggunakan penyandian desimal daripada penyandian biner yang sekarang ada di mana-mana; pangkalan-pangkalan lain, misalnya terner, harus layak (atau tidak layak). Bahasa pemrograman esoterik Malbolge didasarkan pada komputer terner teoretis; sementara kebanyakan menyindir, tidak ada alasan teknis mengapa itu tidak bekerja. Penyimpanan dan pemrosesan domain kontinu secara historis dilakukan pada komputer analog, di mana Anda dapat meng-encode kuantitas sebagai frekuensi dan / atau amplitudo dari sinyal berosilasi, dan Anda kemudian akan melakukan perhitungan dengan menerapkan segala macam modulasi pada sinyal-sinyal ini. Saat ini, komputasi kuantum membuat teori di balik sel penyimpanan kontinu menarik lagi.

Either way, bit sebagai unit informasi teoritis terkecil masih berdiri, karena setiap alternatif dapat menyandikan lebih banyak informasi daripada satu ya / tidak, dan belum ada yang datang dengan unit teoritis yang lebih kecil (dan saya tidak berharap hal itu terjadi dalam waktu dekat).

tammmer
sumber
17
@Dokkat: Penyimpanan domain kontinu, seperti kaset analog, bagus dalam teorinya, tetapi dalam praktiknya, ia menderita dari kebisingan dan degradasi yang tidak dapat dipulihkan, yang merupakan salah satu alasan mengapa kami menggunakan komputer digital sejak awal.
tdammers
19
Dalam teori informasi, sangat mungkin untuk menyampaikan kurang dari 1 bit informasi. Ide dasarnya adalah bahwa satu bit data hanya menampung satu bit informasi jika kedua negara memiliki kemungkinan yang sama. Menurut definisi itu, di gurun Sahara jawaban "tidak" untuk pertanyaan "apakah hujan turun hari ini?" membawa kurang dari 1 bit informasi karena itu hampir selalu jawabannya.
Michael Borgwardt
9
@Dokkat biasa digunakan untuk memodelkan jumlah analog yang kompleks, komputer 'digital' adalah sistem kontrol untuk komputer analog. Dalam praktiknya, sulit membangun sirkuit analog dengan resolusi adouble
Martin Beckett
5
Some of the early digital computers employed decimal encodings rather than the now ubiquitous binary encoding- Sebenarnya, penyandian desimal masih digunakan sampai sekarang; itu disebut BCD . BIOS di sebagian besar komputer menggunakannya (untuk tanggal berbasis desimal) , dan juga sebagian besar kalkulator murah, karena memerlukan lebih sedikit sirkuit (mis. Lebih murah) untuk melakukan semua hal dalam BCD daripada melakukannya dalam biner dan memiliki konverter biner ke desimal.
BlueRaja - Danny Pflughoeft
3
Seperti yang dikatakan @tdammers, sulit untuk mencocokkan pelampung presisi tunggal menggunakan sinyal analog. Pelampung 32-bit secara efektif memiliki 24 bit presisi; sirkuit analog dengan noise yang sebanding mahal, haus daya, lambat, dan sangat sangat sensitif terhadap lingkungan mereka.
badai
26

Anda pada dasarnya menggambarkan sinyal analog, yang digunakan dalam sensor, tetapi jarang untuk perhitungan internal. Masalahnya adalah kebisingan menurunkan kualitas, Anda perlu kalibrasi yang sangat tepat dari titik referensi yang sulit untuk dikomunikasikan, dan transmisi adalah masalah karena kehilangan kekuatan semakin jauh perjalanannya.

Jika Anda tertarik menjelajahi komputasi analog, sebagian besar kelas sarjana "pengantar elektronik" meminta Anda membuat hal-hal seperti integrator op-amp . Mereka cukup mudah untuk dibangun bahkan tanpa instruksi formal.

Anda juga dapat menyimpan beberapa status digital pada node yang sama. Misalnya, alih-alih 0-2,5 volt menjadi nol dan 2,5-5,0 volt menjadi satu, Anda dapat menambahkan status ketiga di antaranya. Ini menambah banyak kompleksitas, dan secara signifikan meningkatkan kerentanan Anda terhadap kebisingan.

Karl Bielefeldt
sumber
Komputasi analog dulu sangat umum, tetapi pada akhirnya digital bisa lebih tepat. Menggunakan sedikit lebih banyak bit dalam memori untuk mewakili suatu nilai benar-benar sepele dibandingkan dengan mencoba memalu noise beberapa dB lebih rendah (3 bit ~ 20 dB), dan pada beberapa titik (bervariasi berdasarkan kecepatan) secara fisik tidak mungkin.
Nick T
Saya suka penekanan di sini pada komputasi analog dan contoh-contohnya. Berasal dari latar belakang komputer sci yang benar-benar digital, saya tidak selalu melihat apa itu komputasi analog. Padahal googling untuk itu akan memberi banyak contoh. Saya pikir saya ingat pernah melihat bahwa sebuah prisma "menghitung" transformasi fourier, karena ia membagi cahaya yang masuk ke frekuensi konstituennya. Ini melakukan ini cukup cepat, dengan 0 energi (dalam arti persyaratan untuk menghitung FT). Tentu saja untuk melakukan sesuatu dengan hasilnya kemungkinan akan membutuhkan digitalisasi.
Paul
@NickT Norbert Wiener, penulis cybernetics dan pemain awal di bidangnya / teori kontrol mengenang dalam bukunya bahwa pada akhirnya itu adalah biaya yang lebih rendah dari sirkuit biner dibandingkan dengan analog yang menyebabkan laboratorium, peneliti dan industri memilih biner
Christophe
20

Itu disebut qubit, dan digunakan di komputer kuantum. Anda akan menemukan informasi lebih lanjut tentang mereka di entri wikipedia . Penelitian sedang dilakukan untuk membuat komputer yang stabil dan layak secara ekonomi.

J. Maes
sumber
1
ini membuat kepalaku sakit membaca itu ...
Ryathal
Saya tidak yakin persis bagaimana sebuah qubit bekerja (saya membacanya jadi saya akan memperbarui nanti), tapi saya tahu qubit tidak praktis dengan teknologi saat ini, sementara konsep itu tidak. Misalnya, seseorang dapat secara fisik mewakili bit 'mengambang' dengan jumlah air yang mengisi gelas, dan mengukurnya menggunakan keseimbangan.
Dokkat
11
Nitpicking: Sebuah qubit tidak memiliki status antara 0 dan 1. Ini masih 0 atau 1, tetapi bisa memiliki beberapa status secara bersamaan . (Sama seperti kucing Schrodinger yang bukan "setengah mati", tetapi mati dan hidup secara bersamaan)
nikie
7
@Ryathal Sebenarnya itu pertanda baik: "Siapa pun yang tidak terkejut dengan teori kuantum belum memahaminya." - Niels Bohr
Dan Neely
1
Untuk beberapa alasan saya selalu membayangkan qubit sebagai Tribbles biru pucat atau merah muda.
Wayne Werner
17

Masalah akurasi

Salah satu alasan kami menggunakan bit adalah membantu kami menyimpan dan mengambil informasi secara akurat.

Dunia nyata adalah analog, oleh karena itu semua informasi yang komputer lewati atau simpan akhirnya analog . Misalnya, arus dari tegangan tertentu pada kawat, atau muatan magnet dengan kekuatan khusus pada disk, atau lubang dengan kedalaman tertentu pada disk laser.

Pertanyaannya adalah: seberapa akurat Anda bisa mengukur informasi analog itu ? Bayangkan bahwa arus pada kawat dapat diartikan sebagai angka desimal, sebagai berikut:

  • 1 hingga 10 volt: 0
  • 10 hingga 20 volt: 1
  • 20 hingga 30 volt: 2

Dll. Sistem ini akan membiarkan kita melewatkan banyak data dalam beberapa arus pulsa, kan? Tetapi ada masalah: kita harus sangat yakin apa voltase itu. Jika suhu atau magnet atau sinar kosmik atau apa pun yang menyebabkan fluktuasi, kita dapat membaca angka yang salah. Dan semakin halus kita bermaksud untuk mengukur, semakin besar risiko itu. Bayangkan jika perbedaan 1-millivolt signifikan!

Sebagai gantinya, kami biasanya menggunakan interpretasi digital . Segala sesuatu di atas ambang batas itu benar, dan semua yang ada di bawah itu salah. Jadi kita dapat mengajukan pertanyaan seperti "Apakah ada arus sama sekali?" bukannya " Tepatnya berapa banyak arus yang ada di sana?"

Setiap bit individu dapat diukur dengan percaya diri, karena kita hanya harus "di stadion baseball yang tepat". Dan dengan menggunakan banyak bit, kita masih bisa mendapatkan banyak informasi.

Nathan Long
sumber
1
Agar adil, sirkuit digital harus menetapkan nilai terukur yang pasti benar atau salah, dan di antaranya adalah "tidak terdefinisi". Dalam logika 3.3 / 5V itu mungkin <0.8V salah,> 2.5V benar. Noise tentu masih menjadi masalah jika mengeluarkan sinyal dari rentang tersebut. Misalnya, mencoba menarik sinyal ke rendah menggunakan transistor NPN hanya akan membuat Anda turun ke 0,55 ke 0,7V tergantung pada faktor-faktor tertentu. Tidak banyak bermain. Anda hanya membuatnya lebih sulit ketika Anda menentukan rentang yang lebih jelas.
Scott Whitlock
2
@ScottWhitlock hanyalah spesifikasi; kecuali pin dirancang untuk menerima HiZ atau sejenisnya, itu akan menafsirkan input sebagai 1 atau 0, dan titik itu dapat bervariasi berdasarkan suhu, batch produksi, tegangan suplai, dll. Wilayah yang tidak ditentukan itu bukan fitur ( Anda tampaknya menyarankan Anda dapat memanfaatkannya untuk logika fuzzy).
Nick T
1
@NickT: wilayah yang tidak ditentukan menandai bahwa ada distorsi besar (yang begitu besar sehingga koreksi kesalahan normal mungkin tidak memulihkannya) dan kemungkinan pengiriman ulang diperlukan.
Lie Ryan
2
@ LieRyan, Anda mempertimbangkan level yang jauh lebih tinggi dari apa yang ditangani oleh spesifikasi tersebut (lapisan fisik). Wilayah yang tidak terdefinisi berarti perilaku (bagaimana bit dibaca) tidak terdefinisi dan tidak dijamin. Itu masih bisa bekerja dengan baik.
Nick T
3

Mungkin lebih alami bagi kita tetapi ada alasan khusus mengapa biner dipilih untuk sirkuit digital dan dengan demikian untuk bahasa pemrograman. Jika Anda memiliki dua status, Anda hanya perlu membedakan antara pengaturan dua volt, katakan 0V dan 5V. Untuk setiap peningkatan tambahan ke radix (basis) Anda harus membagi lebih lanjut rentang itu sehingga mendapatkan nilai yang tidak jelas satu sama lain. Anda dapat meningkatkan rentang voltase tetapi memiliki kebiasaan buruk dalam melting circuitry ini.

Jika Anda ingin mengubah jenis perangkat keras dari sirkuit digital opsi Anda lebih bervariasi. Desimal digunakan untuk digunakan dalam komputer mekanik karena persneling memiliki toleransi panas yang jauh lebih besar dan jauh lebih berbeda daripada muatan elektron. Komputer kuantum sebagaimana dinyatakan di tempat lain memiliki cara lain untuk menangani berbagai hal. Komputer optik mungkin juga dapat melakukan hal-hal yang belum pernah kami tangani sebelumnya dan komputer magnetik juga memungkinkan.

Insinyur Dunia
sumber
2

Saya pikir Anda saat ini dapat membangun item yang dapat menampung sejumlah negara atau bahkan bekerja dengan data analog. Meskipun membangun seluruh sistem dan menjalankan semua komponen logis untuk mendapatkan arsitektur berfitur lengkap dan dapat diprogram akan banyak pekerjaan dan risiko keuangan bagi perusahaan mana pun untuk melakukan tugas ini.

Saya pikir ENIAC adalah arsitektur terakhir yang menggunakan penghitung cincin sepuluh posisi untuk menyimpan angka. Meskipun saya bisa salah tentang ini dan saya tidak yakin, seberapa besar ini mempengaruhi bagian lain dari mesin.

thorsten müller
sumber
2

Penyimpanan dapat dianggap sebagai transmisi ke masa depan, semua masalah transmisi dengan media kontinyu (analog) akan berlaku.

Menyimpan status itu bisa sepele (saklar tiga arah atau semacam kisi) dan secara fisik menyimpan status ini adalah satu masalah yang banyak dijawab oleh jawaban, jauh lebih baik daripada yang saya bisa.

Perhatian utama saya adalah bagaimana keadaan tersimpan ini dikodekan dan tampaknya ada kemungkinan tinggi bahwa tugas ini adalah tugas bodoh, karena bit cukup untuk representasi data kontinu praktis, tergantung keakuratan yang Anda butuhkan, terus menambahkan lebih banyak bit.

Benar-benar data kontinu tidak mungkin disimpan dengan cara ini, tetapi persamaan untuk menghitungnya misalnya

1/3

dapat disimpan.

StuperUser
sumber
2

Sebuah petunjuk dan firasat adalah potongan-potongan kecil informasi dari sedikit. Beberapa petunjuk biasanya diperlukan untuk menetapkan nilai tertentu dari bit. Inklings lebih buruk: tidak peduli berapa banyak Anda menjumlahkan, Anda masih tidak dapat mengetahui nilai bit yang dihasilkan dengan pasti.

Lebih serius, ada logika multi-nilai di mana unit dasar dapat memiliki satu dari n negara, di mana n> 2. Anda dapat mempertimbangkan unit-unit ini untuk membawa informasi lebih sedikit daripada sedikit dalam arti paragraf sebelumnya, tetapi dari teori informasi sudut pandang Anda harus mengatakan mereka membawa lebih banyak. Sebagai contoh, Anda akan membutuhkan dua bit untuk mewakili jumlah informasi yang sama dengan nilai tunggal dalam logika bernilai empat.

Caleb
sumber
1

Basis numerik optimal adalah e , tetapi karena cara paling sederhana untuk merepresentasikan angka dalam elektronik digital adalah dengan dua status (tegangan tinggi = 1, tegangan rendah = 0), representasi bilangan biner dipilih.

BЈовић
sumber
Membicarakan etanpa menyebutkan nat ? Karena malu.
Ben Voigt
1
@ BenVoigt ya? Apa itu nat ? :) google mengatakan kepada saya beberapa hal aneh, yang tidak cocok dengan subjek.
BЈовић
@ BenVoigt Mungkin Anda merujuk ke Nat (informasi) ? Nat ... adalah unit informasi atau entropi logaritmik, yang didasarkan pada logaritma dan kekuatan e alami, daripada kekuatan 2 dan basis 2 logaritma yang menentukan bit.
CVn
@ MichaelKjörling: Itu persisnya.
Ben Voigt
0

Ada kemungkinan unit data yang lebih kecil. Saya tidak tahu nama resmi untuk itu, sebut saja un.

Bit adalah kata kombo yang cerdas untuk "Digit biner", yang berarti bit memiliki dua kemungkinan status. Jadi harus ada semacam digit dengan hanya satu kemungkinan keadaan.

Mari kita lihat apa artinya itu. Ini berarti Anda hanya memiliki nol untuk bekerja.

Bagaimana Anda menghitungnya? Dalam sistem x-basis apa pun, Anda meningkatkan nilainya sampai Anda kehabisan digit dan kemudian menambahkan angka untuk membentuk angka. Jika Anda hanya memiliki satu digit, Anda akan segera kehabisan digit jadi:

Nol = 0 Satu = 00 Dua = 000 dan lain-lain

Ini jelas lebih alami: lebih banyak lebih banyak! Ini memetakan dengan sempurna untuk sejumlah hal yang berbeda. Berapa banyak kentang? 00000 Itu empat kentang. Tunggu sebentar ... itu off-by-one. Jika Anda tidak suka itu, Anda bisa mendefinisikan kembali nilai 0 ke satu. Maka itu benar-benar alami: tidak ada nol tidak ada, satu nol adalah satu, dua nol adalah dua, dan sebagainya.

Ini tidak praktis untuk mesin solid state. Digit harus ditempatkan dan dilepas secara fisik dan tidak dapat diukur dengan baik.

Martin Maat
sumber
1
Ini tidak benar-benar memenuhi syarat sebagai unit data, karena Anda pada dasarnya hanya menyandikan 0 sebagai "tidak ada" dan 1 sebagai 0. Mereka masih berupa bit.
DeadMG
Ini bukan biner, itu unary. Intinya adalah bahwa elemen data hanya memiliki satu keadaan, bukan dua. Kehadiran atau ketidakhadiran bukanlah suatu keadaan, keadaan elemen selalu sama maka itu adalah digit unary. Saya pada dasarnya menggambarkan sistem tanda penghitungan.
Martin Maat
-1

Saya tidak dapat menemukan referensi bahasa Inggris yang pasti, tetapi sejauh yang saya ingat dari Information Theory Class , bit adalah unit informasi mendasar. Sedikit informasi adalah informasi yang Anda terima setelah melemparkan koin yang adil (probabilitas 50% untuk setiap sisi). Segala sesuatu yang lain dapat dikurangi menjadi ini.

Bahkan jika Anda menggunakan perangkat yang memiliki banyak status, itu selalu dapat dikurangi menjadi bit.

Sorin
sumber
-1

Jika Anda mendefinisikan alami dengan menjadi dekat dengan cara kerja ibu alam, cara pengkodean informasi yang paling alami adalah kombinasi seperti DNA dari adenin, sitosin, guanin, dan timin.

Sial
sumber