01/10/2018, 00:14
Không hiểu "Number Base" trong c++?
E thấy có đoạn lệnh int abc =0x42
Lúc in ra abc thì abc = 66 ( 0x42 in hex ) , e thấy sách ghi như thế mà e không hiểu . Xin a/c giúp e hiểu về cái này
Bài liên quan
Số bình thường mình vẫn dùng là hệ thập phân (decimal), dùng các chữ số 0…9 để biểu diễn
Trong máy tính dùng hệ nhị phân (binary), dùng 0 và 1 để biểu diễn
Bên trên là hệ 16 (hexadecimal), dùng các chữ số 0…9 và A…F để biểu diễn. Người ta dùng
0x
ở đầu để phân biệt nó với hệ thập phân. Và 42 ở đây tương ứng với 66 trong hệ thập phân.Ngoài ra còn có hệ 8 (octal).
dùng những hệ này có lợi ích gì không a ? tác dụng của nó để làm gì
Trong đa số các ngôn ngữ lập trình tiền tố 0x được xem khi là chúng ta đang sử dụng hệ thập lục phân (hệ 16). Một số trường hợp chúng ta sử đụng hệ 16 sẽ dễ hiểu hơn hệ 10. Ví dụ như màu sắc của điểm ảnh chẳng hạn.
Màu trắng 0xFFFFFF
Màu đen 0x000000
Nếu như bạn chưa học các đổi binary(số chỉ có 0,1) decimal (số bình thường), Hexandecimal ( như ví dụ trên của bạn), hay octan (chỉ có các số từ 1-8), thì việc bạn không biết cái trên là cũng dễ hiểu. Bạn nên tìm trên mạng cách chuyển đổi chuyển các số trên thì bạn sẽ hiểu vấn đề thôi. ví dụ với số 30 thì ta được: 1E (trong hexan), 36(otc), 0001 1110(binary)
cảm ơn a/c nhiều