Isi kandungan:
- Sistem nombor perpuluhan
- Sistem nombor lain
- Komputer mempunyai dua jari. (Mungkin itu sebabnya komputer begitu bodoh: Tanpa ibu jari yang menentang, mereka tidak dapat memahami apa-apa. Dan sekali lagi, mungkin tidak.) Komputer lebih suka mengira menggunakan asas 2. Nombor 123
Video: Konversi Bilangan Biner ke Bilangan Desimal 2024
C + + pembolehubah disimpan secara dalaman sebagai nombor binari yang dipanggil. Nombor perduaan disimpan sebagai urutan nilai 1 dan 0 yang dikenali sebagai bit. Kebanyakan masa, anda tidak perlu berurusan dengan nombor pada tahap bit; Walau bagaimanapun, ada kesempatan apabila melakukan itu adalah mudah. C ++ menyediakan satu set operator untuk tujuan ini.
Operator bitwise yang dipanggil logik beroperasi pada hujah mereka pada tahap bit. Untuk memahami bagaimana mereka bekerja, periksa bagaimana komputer menyimpan pembolehubah.
Sistem nombor perpuluhan
Nombor yang anda kenal dikenali sebagai nombor perpuluhan kerana ia berdasarkan pada nombor 10. Secara umum, pengaturcara menyatakan C ++ pembolehubah sebagai nombor perpuluhan. Oleh itu, anda akan mengatakan bahawa nilai var adalah 123, contohnya.
Nombor seperti 123 merujuk kepada 1 * 100 + 2 * 10 + 3 * 1 . Setiap nombor asas ini - 100, 10, dan 1 - adalah kuasa 10.
123 = 1 * 100 + 2 * 10 + 3 * 1
Ditunjukkan dengan cara yang sedikit berbeza tetapi bersamaan:
123 = 1 * 10 2 2 * 10 1 + 3 * 10 0
Ingat bahawa sebarang nombor kepada kuasa sifar ialah 1.
Sistem nombor lain
Penggunaan nombor asas 10 untuk sistem pengiraan berpunca, dalam semua kebarangkalian, dari fakta bahawa manusia mempunyai 10 jari, alat pengiraan asal. Alternatif ini akan menjadi asas 20.
Sekiranya anjing telah mencipta skema penomboran kami, ia mungkin berdasarkan nombor 8 (satu digit setiap kaki tidak kelihatan di bahagian belakang kaki). 10 = 1 * 8
2 + 7 * 8 1 Seperti sistem octal + 10 * 8 0 = 173 8 10 dan 8 kecil di sini merujuk kepada sistem penomboran, 10 untuk perpuluhan (asas 10) dan 8 untuk octal (asas 8). Sistem pengiraan boleh menggunakan mana-mana asas yang positif.
Sistem nombor binari
Komputer mempunyai dua jari. (Mungkin itu sebabnya komputer begitu bodoh: Tanpa ibu jari yang menentang, mereka tidak dapat memahami apa-apa. Dan sekali lagi, mungkin tidak.) Komputer lebih suka mengira menggunakan asas 2. Nombor 123
10 akan dinyatakan sebagai: 123
10 = 0 * 128 + 1 * 64 + 1 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 1 * 2 + 1 * 1 = 01111011 < 2
Ia sentiasa menjadi konvensyen untuk menyatakan angka binari dengan menggunakan digit biner 4, 8, 32, atau 64 walaupun digit utama adalah sifar. Ini juga kerana cara komputer dibina secara dalaman. Oleh kerana istilah
digit
merujuk kepada berganda sepuluh, digit binari dinamakan bit . Istilah ini berasal dari binary (b-) digit (-it).Lapan bit membuat bait. Perkataan biasanya sama ada dua atau empat bait. Dengan asas yang kecil ini, perlu menggunakan sebilangan besar bit untuk mengekspresikan nombor. Ia menyusahkan untuk menggunakan ungkapan seperti 01111011 2
untuk menyatakan nilai duniawi seperti 123 10 . Pengaturcara lebih suka untuk menyatakan angka dengan unit bait, atau lapan bit. Satu digit tunggal, empat bit pada dasarnya adalah asas 16, kerana empat bit dapat menyampaikan nilai apa pun dari 0 hingga 15. Pangkalan 16 dikenali sebagai sistem penghitungan hexadecimal
. Hexadecimal sering dikontrak hanya hex. Hexadecimal menggunakan digit yang sama untuk nombor 0 hingga 9. Untuk digit antara 9 dan 16, heksadesimal menggunakan enam huruf pertama abjad: A untuk 10, B untuk 11, dan sebagainya. Oleh itu, 123 10
menjadi 7B 16 . 123 = 7 * 16 1
+ B (iaitu, 11) * 16 0 = 7B 16 , 32, atau 64 bit, mereka juga lebih suka untuk menyatakan nombor heksadesimal dalam angka 1, 2, 4, atau 8 angka heksadesimal walaupun angka utama adalah 0. Akhir sekali, adalah menyusahkan untuk menyatakan nombor heksadesimal seperti 7B < 16
menggunakan subskrip, kerana terminal tidak menyokong subskrip. Walaupun pada pemproses kata, adalah sukar untuk menukar fon ke dan dari mod subskrip hanya untuk menaip dua digit. Oleh itu, pengaturcara menggunakan konvensyen untuk memulakan nombor heksadesimal dengan 0x (sebab sebab keyakinan yang aneh itu kembali ke hari-hari awal C). Oleh itu, 7B menjadi 0x7B. Menggunakan konvensyen ini, 0x7B bersamaan dengan 123 (manakala 0x123 bersamaan dengan 291.)
Semua pengendali matematik boleh dilakukan pada nombor heksadesimal dengan cara yang sama yang digunakan untuk nombor perpuluhan. Alasan bahawa kita tidak boleh melakukan pendaraban seperti 0xC * 0xE di kepala kita mempunyai lebih banyak kaitan dengan jadual pendaraban yang kita pelajari di sekolah daripada apa-apa batasan dalam sistem nombor.