Rumah > pembangunan bahagian belakang > C++ > Mengapa Menolak '0' daripada Char dalam C Mengembalikan Nilai Berangkanya?

Mengapa Menolak '0' daripada Char dalam C Mengembalikan Nilai Berangkanya?

Linda Hamilton
Lepaskan: 2024-12-14 12:32:11
asal
652 orang telah melayarinya

Why Does Subtracting '0' from a Char in C Return Its Numerical Value?

Menolak '0' daripada Char dalam C Mengembalikan Nilai Berangkanya

Anda mungkin terkejut apabila mendapati bahawa menolak '0' daripada Kod aksara ASCII menghasilkan nilai berangka yang diwakili oleh aksara itu.

Pemahaman Pengekodan ASCII

Untuk memahami sebab ini berfungsi, adalah penting untuk mengetahui tentang pengekodan ASCII. ASCII memberikan setiap aksara nilai berangka yang unik, antara 0 hingga 127. Nilai berangka yang sepadan dengan aksara dikenali sebagai kod ASCIInya.

Sebagai contoh, aksara '0' mempunyai kod ASCII 48, '1' mempunyai kod ASCII 49, dan seterusnya. Ini bermakna aksara '0' hingga '9' mempunyai kod ASCII dalam julat 48 hingga 57.

Perwakilan Numerik Aksara

Sebab menolak '0' daripada kod aksara mengembalikan nilai berangka kerana kod ASCII untuk digit '0' hingga '9' adalah berjujukan. Menolak '0' daripada mana-mana kod ini akan mengalih keluar pengimbangan digit daripada jujukan, hanya meninggalkan nilai berangka sebenar.

Sebagai contoh, menolak '0' daripada '9' (kod ASCII 57) menghasilkan 9, sejak 57 - 48 = 9.

Contoh

Pertimbangkan kod berikut:

char c = '9';
int x = (int)(c - '0');
Salin selepas log masuk

Di sini, kita mempunyai aksara '9' yang disimpan dalam pembolehubah c. Menghantar perbezaan antara c dan '0' kepada integer menggunakan (int) memberikan nilai berangka '9', iaitu 9, kepada pembolehubah x.

Kesimpulan

Kesimpulannya, penolakan '0' daripada kod ASCII aksara dalam C menghasilkan nilai berangka yang diwakili oleh aksara kerana kod ASCII untuk digit '0' hingga '9' adalah berjujukan dan mewakili nilai berangka secara langsung.

Atas ialah kandungan terperinci Mengapa Menolak '0' daripada Char dalam C Mengembalikan Nilai Berangkanya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan