Không một gì 0xtiền tố vào một số nghĩa là gì?
const int shared_segment_size = 0x6400;
Nó từ một chương trình C. Tôi không thể nhớ nó xcó ý nghĩa gì và đặc biệt là ý nghĩa của bức thư .
0x prefix C++đưa bạn đến đây ngay bây giờ :)
Không một gì 0xtiền tố vào một số nghĩa là gì?
const int shared_segment_size = 0x6400;
Nó từ một chương trình C. Tôi không thể nhớ nó xcó ý nghĩa gì và đặc biệt là ý nghĩa của bức thư .
0x prefix C++đưa bạn đến đây ngay bây giờ :)
Câu trả lời:
Chữ số bắt đầu bằng 0xsố nguyên thập lục phân. (cơ số 16)
Số lượng 0x6400là 25600.
6 * 16^3 + 4 * 16^2 = 25600
Ví dụ bao gồm các chữ cái (cũng được sử dụng trong ký hiệu thập lục phân trong đó A = 10, B = 11 ... F = 15)
Số lượng 0x6BF0là 27632.
6 * 16^3 + 11 * 16^2 + 15 * 16^1 = 27632
24576 + 2816 + 240 = 27632
0xffffffffvà như vậy. ( 0xffffffff = -132-bit int giả định bổ sung 2 của)
Trong C và các ngôn ngữ dựa trên cú pháp C, tiền tố 0xcó nghĩa là hệ thập lục phân (cơ số 16).
Do đó, 0x400 = 4 × (16 2 ) + 0 × (16 1 ) + 0 × (16 0 ) = 4 × ((2 4 ) 2 ) = 2 2 × 2 8 = 2 10 = 1024, hoặc một nhị phân K .
Và do đó 0x6400 = 0x4000 + 0x2400 = 0x19 × 0x400 = 25K
Các số bắt đầu bằng 0xhệ thập lục phân (cơ số 16). 0x6400đại diện cho 25600.
Để chuyển đổi,
Các hệ số 1, 16, 256, v.v. là lũy thừa tăng dần của 16.
0x6400 = (0*1) + (0*16^1) + (4*16^2) + (6*16^3) = 25600
hoặc là
0x6400 = (0*1) + (0*16) + (4*256) + (6*4096) = 25600
ĐƠN GIẢN
Đó là một tiền tố để cho biết số ở dạng thập lục phân chứ không phải ở một số cơ số khác. Ngôn ngữ lập trình C sử dụng nó để nói với trình biên dịch.
Thí dụ :
0x6400dịch thành 6*16^3 + 4*16^2 + 0*16^1 +0*16^0 = 25600.Khi trình biên dịch đọc 0x6400, Nó hiểu số là hệ thập lục phân với sự trợ giúp của số hạng 0x. Thông thường chúng ta có thể hiểu theo (6400)16 or (6400)8hoặc bất kỳ căn cứ nào ..
Hy vọng được giúp đỡ trong một số cách.
Ngày tốt,