Apa arti 0x
awalan pada angka?
const int shared_segment_size = 0x6400;
Ini dari program C. Saya tidak dapat mengingat apa artinya dan terutama apa arti surat itu x
.
0x prefix C++
membawa Anda ke sini sekarang :)
Apa arti 0x
awalan pada angka?
const int shared_segment_size = 0x6400;
Ini dari program C. Saya tidak dapat mengingat apa artinya dan terutama apa arti surat itu x
.
0x prefix C++
membawa Anda ke sini sekarang :)
Jawaban:
Literal yang dimulai dengan 0x
adalah bilangan bulat heksadesimal. (basis 16)
Nomornya 0x6400
adalah 25600
.
6 * 16^3 + 4 * 16^2 = 25600
Untuk contoh termasuk huruf (juga digunakan dalam notasi heksadesimal di mana A = 10, B = 11 ... F = 15)
Nomornya 0x6BF0
adalah 27632
.
6 * 16^3 + 11 * 16^2 + 15 * 16^1 = 27632
24576 + 2816 + 240 = 27632
0xffffffff
dan itu. ( 0xffffffff = -1
untuk 32-bit int dengan asumsi pelengkap 2)
Dalam C dan bahasa berdasarkan sintaks C, awalan 0x
berarti heksadesimal (basis 16).
Jadi, 0x400 = 4 × (16 2 ) + 0 × (16 1 ) + 0 × (16 0 ) = 4 × ((2 4 ) 2 ) = 2 2 × 2 8 = 2 10 = 1024, atau satu K biner .
Jadi 0x6400 = 0x4000 + 0x2400 = 0x19 × 0x400 = 25K
Angka yang dimulai dengan 0x
adalah heksadesimal (basis 16). 0x6400
mewakili 25600
.
Untuk mengubah,
Faktor 1, 16, 256, dll. Adalah peningkatan pangkat dari 16.
0x6400 = (0*1) + (0*16^1) + (4*16^2) + (6*16^3) = 25600
atau
0x6400 = (0*1) + (0*16) + (4*256) + (6*4096) = 25600
SEDERHANA
Ini adalah awalan untuk menunjukkan bahwa bilangan tersebut dalam heksadesimal daripada di beberapa basis lain. Bahasa pemrograman C menggunakannya untuk memberi tahu kompiler.
Contoh:
0x6400
diterjemahkan menjadi 6*16^3 + 4*16^2 + 0*16^1 +0*16^0 = 25600.
Ketika kompilator membaca 0x6400
, Ini memahami angka itu heksadesimal dengan bantuan istilah 0x. Biasanya kita bisa mengerti dengan (6400)16 or (6400)8
dasar apa saja ..
Harapan Membantu dalam beberapa cara.
Selamat siang,