[Powered by Google Translate] NATE Hardison: Dalam video pada biner, kita menunjukkan bagaimana
merupakan himpunan bilangan bulat, dari nol ke atas,
hanya menggunakan angka nol dan satu.
Dalam video ini, kita akan menggunakan notasi biner
mewakili teks, huruf dan semacamnya, juga.
>> Mengapa kita repot-repot untuk melakukan hal ini?
Nah, di bawah tenda, komputer hanya benar-benar
memahami angka satu dan nol, angka biner, karena ini
dapat diwakili dengan mudah dengan hal-hal elektromagnetik.
>> Misalnya, pikirkan memori komputer Anda seperti yang lama
string bola lampu, dimana setiap individu bohlam
mewakili nol jika itu dimatikan, dan satu
jika itu dihidupkan.
Alih-alih menggunakan sekelompok bola lampu, beberapa modern
memori hal ini menggunakan kapasitor yang memegang rendah
bertanggung jawab untuk mewakili nol dan biaya tinggi
untuk mewakili satu.
>> Ada teknik lain juga.
Lagi pula, dalam rangka untuk menyimpan apa pun di memori, kita perlu
pertama mengubahnya menjadi sesuatu yang dapat benar-benar
terwakili dalam perangkat keras fisik.
Jadi mari kita berpikir tentang bagaimana kita bisa merepresentasikan huruf dengan
biner notasi.
Dalam bahasa Inggris, kita punya 26 huruf abjad dalam, A,
>> B, C, D, dan seterusnya, sampai Z. Kita melalui dapat menetapkan masing-masing dari
ini nomor, katakanlah nol sampai 25, dan kemudian menggunakan
notasi biner, kita dapat mewakili setiap nomor sebagai
urutan nol dan satu.
Itu tidak terlalu buruk.
Namun, itu tidak akan cukup.
Dengan sistem ini, kita tidak bisa benar-benar membedakan antara
atas dan huruf kecil.
Jika kita ingin komputer kita untuk dapat membedakan antara
dua kasus, maka kita membutuhkan 26 angka tambahan.
Dan bagaimana dengan periode, koma, dan
tanda baca lainnya?
>> Pada keyboard saya, saya punya 32 dari mereka, termasuk semua
karakter khusus seperti tanda sisipan dan ampersand.
Itu bukan termasuk karakter digit, nol sampai sembilan,
karena kita masih ingin untuk dapat mengetikkan angka dalam desimal
notasi pada komputer, bahkan jika komputer hanya benar-benar
memahami notasi biner di bawah tenda.
>> Dan akhirnya, kita akan perlu untuk mewakili karakter spasi sehingga
Space Bar yang kami bekerja.
Jadi mencari tahu bagaimana untuk mewakili teks pada komputer
mengambil sedikit lebih dari yang kita mungkin berpikir awalnya.
Selain itu, menganggap kita kemudian datang dengan pengkodean kita sendiri
Skema untuk mewakili karakter sebagai angka.
Namun kami memutuskan untuk mengkodekan karakter pasti akan
sewenang-wenang, seperti yang kita lihat sebelumnya ketika kita berbicara tentang menggunakan
angka nol melalui 25 untuk mewakili huruf A
melalui Z. Mengapa tidak menggunakan 10 sampai 35 sehingga kita dapat menghemat
nol sampai sembilan untuk karakter digit?
>> Tidak ada alasan yang nyata, kita hanya memilih apapun tampak
terbaik untuk kita.
Kembali pada awal 1960-an, ini adalah masalah nyata.
Produsen komputer yang berbeda menggunakan
berbeda encoding skema, dan ini membuat komunikasi
antara mesin yang berbeda tugas yang sangat sulit.
The American National Standards Institute, ANSI,
membentuk sebuah komite untuk mengembangkan skema umum.
Dan pada tahun 1963, Kode Standar Amerika untuk Informasi
Interchange, lebih dikenal sebagai ASCII, lahir.
>> ASCII dirancang sebagai pengkodean tujuh-bit, yang
berarti bahwa masing-masing karakter diwakili oleh kombinasi
tujuh angka satu dan nol.
Dengan dua nilai yang mungkin, nol atau satu, untuk setiap
dari tujuh bit, ada dua kepada ketujuh atau 128
karakter yang dapat diwakili dengan ASCII
encoding skema.
Jadi 128 karakter terdengar seperti banyak, kan?
Nah, ingat bahwa ada 26 huruf kecil di
Inggris, yang lain 26 huruf besar, karakter 10 digit,
32 tanda baca dan karakter khusus,
dan satu karakter spasi.
>> Yang menempatkan kami di 95, sehingga kita memiliki 33 karakter yang kita
dapat mewakili.
>> Jadi apa yang tersisa?
Nah, pada hari-hari pengembangan ASCII, teletype
mesin, yaitu mesin tik yang digunakan untuk
mengirim pesan melalui jaringan, yang meluas.
Dan mesin ini memiliki karakter tambahan yang digunakan untuk
mengendalikan mereka, misalnya, untuk memberitahu mereka kapan harus memindahkan
mencetak kepala di bawah garis, feed line atau kunci baris baru,
kapan harus pindah ke margin kiri, carriage return,
atau hanya mengembalikan kunci, dan kapan harus mundur satu ruang,
backspace karakter, dan sebagainya.
>> Karakter ini disebut karakter kontrol, dan mereka
merupakan sisa set ASCII.
Jadi jika kita melihat tabel ASCII, kita melihat bahwa yang pertama
32 angka, nol sampai 31, dicadangkan untuk kontrol
karakter.
Tapi kami hanya mengatakan bahwa ada 33 karakter kontrol.
Apa masalahnya?
Nah, nomor nol dan 127, yang pertama dan terakhir dari
ASCII set, memiliki pola bit khusus, semua nol dan semua
yang masing-masing.
>> Para desainer dari ASCII memutuskan, karena itu, untuk
melestarikan angka-angka untuk karakter khusus tambahan,
yaitu karakter null dan karakter DEL.
Null dan DEL dimaksudkan untuk mengedit pita kertas, yang digunakan
menjadi cara yang umum menyimpan data.
Pita kertas itu benar-benar hanya strip panjang kertas, dan pada
interval reguler di rekaman itu, Anda akan memukul
lubang untuk menyimpan data.
Tergantung pada lebar pita, setiap kolom akan
mampu menampung lima, enam, tujuh, atau delapan bit.
>> Untuk mewakili bit nol, Anda akan melakukan apapun untuk rekaman, anda akan
hanya meninggalkan ruang kosong.
Untuk sedikit satu, Anda akan membuat lubang.
Karakter null hanya akan meninggalkan kolom kosong,
menunjukkan semua nol.
Dan karakter DEL akan memukul kolom penuh lubang
melalui rekaman Anda.
Sebagai hasilnya, Anda bisa menggunakan karakter DEL untuk menghapus
Informasi.
Bayangkan mengambil suara pemilu diisi-out dan kemudian
meninju semua lubang unpunched.
>> Anda membatalkan pemungutan suara karena tidak mungkin untuk
mengatakan apa suara asli adalah.
Sementara karakter DEL masih digunakan adalah modern
Hapus kunci, karakter null datang yang akan digunakan sebagai
pemutusan karakter untuk string C dan
beberapa format data lainnya.
Anda mungkin tahu itu sebagai karakter backslash nol,
karena itulah bagaimana kita merepresentasikan secara tertulis.
Jadi kembali ke meja ASCII kami.
Setelah 32 karakter pertama kontrol datang 95
dicetak karakter.
>> Ada beberapa keputusan desain keren senilai
bicarakan di sini.
Pertama, karakter digit desimal, nol sampai sembilan,
sesuai dengan angka 48 sampai 57, yang tampaknya
biasa-biasa saja sampai kita melihat angka-angka 48 sampai 57
ditulis dalam notasi biner.
Jika kita melakukan itu, maka kita melihat bahwa karakter digit,
nol, sesuai dengan 0110000, satu peta untuk 0110001, dua sampai
0110010, dan sebagainya.
Lihat pola?
Setiap karakter digit dipetakan ke yang sesuai
setara dalam notasi biner, diawali dengan 011.
Selanjutnya, Anda melihat bahwa huruf besar mulai dari 65,
dengan huruf A, tetapi huruf kecil
tidak mulai sampai 97.
Jadi ada 32 ruang di antara.
Yang tampaknya aneh.
Mereka hanya 26 huruf dalam alfabet.
>> Mengapa membaginya seperti ini?
Sekali lagi, jika kita melihat representasi biner, kita bisa
melihat pola.
Huruf A diwakili oleh 1000001, dan huruf kecil adalah
diwakili oleh 1.100.001.
Huruf B diwakili oleh 1000010, dan b huruf kecil yang
diwakili oleh 1.100.010.
Bisakah Anda ceritakan apa yang terjadi di sini?
Bit yang kedua dari kiri, dalam dua ke
perlima, untuk posisi 32ths, adalah 0 untuk semua huruf besar
surat, dan 1 untuk semua huruf kecil.
>> Itu berarti mengkonversi dari huruf besar untuk huruf kecil, dan
sebaliknya, adalah masalah flip sedikit sederhana.
Sehingga membawa kita ke ujung meja ASCII.
Dapatkah Anda memikirkan apa pun yang kita sudah lupa?
Nah, bagaimana dengan enye Spanyol, atau
Yunani atau huruf Cyrillic?
Dan bagaimana karakter Cina?
Ada banyak yang telah ditinggalkan dari ASCII.
Namun, lain Unicode disebut standar telah
dikembangkan untuk menutupi semua
karakter dan banyak lagi.
>> Tapi itu subjek untuk lain waktu.
Nama saya adalah Nate Hardison.
Ini adalah CS50.