Menyahkod Nilai Char: Mengapa Menolak '0' Mendedahkan Perwakilan Angka
Persoalan yang membingungkan timbul: mengapa menolak '0' daripada aksara dalam C mendedahkan nilai angka yang diwakilinya?
Untuk merungkai enigma ini, mari kita mendalami bidang ASCII (American Standard Code for Information Interchange), yang memberikan kod berangka kepada setiap aksara. '0' memegang kedudukan pertama dalam jujukan angka ini, dengan aksara seterusnya diberi nilai yang lebih tinggi secara berperingkat.
Sebagai contoh, '9' mewakili nilai angka 57, manakala '0' sepadan dengan 48. Dengan menolak '0 ' daripada aksara, kita pada asasnya mengira perbezaan antara kod ASCIInya dan kod ASCII bagi '0'.
Pertimbangkan contoh: char c = '9'; int x = (int)(c - '0');
Di sini, '9' mempunyai kod ASCII 57. Menolak '0' (yang mempunyai kod ASCII 48) menghasilkan 57 - 48 = 9, yang adalah tepat nilai berangka yang diwakili oleh '9'.
Jadual ASCII berikut seterusnya menggambarkan perkara ini konsep:
Character | ASCII Code |
---|---|
'0' | 48 |
'1' | 49 |
'9' | 57 |
Dengan menolak '0' daripada sebarang aksara, kita boleh menyahkod nilai berangka yang diwakilinya dengan berkesan, teknik yang biasa digunakan dalam pelbagai aplikasi pengaturcaraan.
Atas ialah kandungan terperinci Mengapa Menolak '0' daripada Aksara Mendedahkan Nilai Berangkanya dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!