Isi kandungan:
Video: Asas Pengaturcaraan : Penukaran Operasi Dalam Program C 2024
Dengan gembira, anda tidak perlu memprogram sebarang peranti digital dengan menulis kod peringkat rendah, membalikkan suis, atau wayar pematerian. Itu kerana pengaturcaraan C hari ini berlaku pada tahap yang lebih tinggi. Tetapi masih, jauh di dalam mesin, jenis pengekodan tahap rendah terus berlanjutan. Anda hanya terisolasi dari sup primordial yang dan nol yang mana semua perisian naik.
Pengenalan kepada binary
Digit binari, atau bit , adalah 1 dan 0. Sendiri, mereka lemah; tetapi dalam kumpulan, mereka mengumpul kuasa yang besar. Penyimpanan digital menggunakan bit ini dalam kumpulan.
Term | C Variable | Bit | Range Range Unsigned | Range Value Signed |
---|---|---|---|---|
Bit | _Bool | 1 > 0 to 1 | 0 to 1 | Byte |
char | 8 | 0 to 255 | -128 to 127 | Word |
short int | 16 > 0 hingga 65, 535 | -32, 768 hingga 32, 767 | Panjang | panjang int |
32 | 0 hingga 4, 294, 967, 483, 648 hingga 2, 147, 483, 647 |
|
Kelebihan mengumpul bit ke dalam bait, kata-kata, dan sebagainya adalah ia menjadikannya mudah untuk dikendalikan. Pemproses boleh lebih baik menangani maklumat dalam ketulan. Bagaimana potongan mendapatkan nilai mereka didasarkan pada kuasa 2. | Kuasa 2 |
Nilai Ketetapan
2 | 0 | 1 |
---|---|---|
1 2 1 | 2 | 10 |
2 2 | 4 | 100 |
2 3 | 8 | 1000 |
2 4 | 16 | 10000 |
2 5 | 32 | 100000 |
2 6 | 64 | 1000000 |
2 > 7 128 | 10000000 |
|
Anda melihat julat nilai yang boleh disimpan dalam 8 bit, atau 1 bait. Ia adalah julat yang sama yang anda dapati dalam pembolehubah char bahasa C. Sesungguhnya, jika anda jumlah Lajur 2, anda mendapat 255, iaitu bilangan bit dalam bait. Sebenarnya, anda akan mendapati 256 nilai yang mungkin untuk satu bait, yang merangkumi permutasi semua-sifar. Itulah nilai juga. | Di bawah menunjukkan bagaimana kuasa 2 peta ke dalam penyimpanan binari. Sama seperti tempat perpuluhan dalam asas bilangan 10 meningkat dengan kuasa 10, bit dalam bilangan binari meningkat dengan kuasa 2, membaca dari kanan ke kiri. | 3 |
1, dan 2
3
0 . Apabila anda mendarabkan nilai-nilai ini dengan rakan-rakan perpuluhan mereka dan kemudian jumlahnya, anda akan mendapat perwakilan perpuluhan binari 00101011, iaitu 43. Semuanya baik dan baik, tetapi jangan menghafalnya! Jangan bimbang diri anda dengan menterjemahkan binari ke dalam nilai perpuluhan; komputer melakukan pekerjaan itu untuk anda sepanjang masa. Malah, komputer hanya melihat binari dan kemudian memaparkan nombor perpuluhan sebagai ihsan untuk bola mata manusia anda.Tetapi apabila anda memanipulasi nilai binari, ia membantu mengetahui apa yang berlaku. Menukar nilai sedikit kepada 1 dirujuk sebagai menetapkan sedikit. Menukar nilai bit ke 0 dirujuk sebagai menetapkan semula sedikit. Bagaimana untuk mempamerkan nilai binari
Untuk mendapatkan pengertian manipulasi manipulasi binerial bahasa C, ia membantu melihat nombor perduaan dalam tindakan. Fungsi printf () tidak mempunyai watak penukaran binari, dan perpustakaan C tidak menjadi tuan rumah fungsi keluaran binari. Tidak, untuk melihat nombor perduaan, anda perlu membina fungsi anda sendiri.
-
Fungsi
-
binbin () Fungsi membentangkan fungsi output binari yang disebut binbin (). Fungsi binbin () pada Line 15 dalam Fungsi
-
binbin () Fungsi, menelan nilai int. Outputnya adalah rentetan yang mewakili nilai int dalam digit biner.
THE
BINBIN ()
FUNCTION #include char * binbin (int n); int main () {int input; printf ("Taipkan nilai 0 hingga 255:"); scanf ("% d", & input); printf ("% d adalah binari% sn", input, binbin (input)); pulangan (0);} char * binbin (int n) {static char bin [9]; int x; untuk (x = 0; x <8; x ++) {bin [x] = n & 0x80? '1': '0';
Taip kod sumber dari binbin () Fungsi ke dalam projek baru. Bina dan jalankan beberapa kali untuk melihat bagaimana bilangan bulat muncul sebagai nombor perduaan
Seperti yang ditulis dalam binbin () Fungsi, binbin () memaparkan hanya 8 bit data, walaupun jenis pembolehubah int biasanya menyimpan lebih banyak bit.
Latihan
2:
Ubah fungsi binbin () binbin () Fungsi supaya ia memaparkan 16 bit int int. (Nah, secara teknikal, 16 bit adalah int yang pendek.) Untuk berbuat demikian, anda perlu mengubah item ini: Alihkan teks supaya 65535 ditentukan bukannya 255. Baris 17: Ubah saiz saiz menjadi 17 untuk menyumbang 16 aksara dalam output ditambah dengan (aksara null) pada akhir rentetan. Baris 20: Laraskan nilai segera 8 dalam kod ke 16 ke akaun untuk semua 16 aksara outputnya.
Talian 22: Gantikan nilai 0x80 dengan 0x8000. Perubahan ini menjadikan medan bit lebih besar. Bina Senaman 2. Jalankannya beberapa kali untuk melihat medan bit untuk nilai yang lebih besar.