# Đổi hệ cơ số

> Chuyển đổi giữa hệ 2, 8, 10 và 16 cùng lúc, kèm số bit cần biểu diễn. Dùng BigInt nên số 64 bit không bị mất độ chính xác.

Nhập một số ở bất kỳ hệ nào để xem đồng thời giá trị ở cả bốn hệ cơ số thông dụng.

URL: https://tinhngay.com/lap-trinh/doi-he-co-so

## Công thức

```
Giá trị = Σ (chữ số × cơ số^vị trí)
```

## Ví dụ

Số 255 ở hệ 16: 255 = 15 × 16 + 15, mà 15 viết là F, nên ra FF. Cũng số đó là 377 ở hệ 8 và 11111111 ở hệ 2 — vừa đúng một byte 8 bit.

## Câu hỏi thường gặp

### Vì sao lập trình hay dùng hệ 16?

Vì mỗi chữ số hệ 16 ứng với đúng 4 bit, nên một byte viết gọn thành hai ký tự. Mã màu, địa chỉ bộ nhớ và dữ liệu nhị phân nhờ vậy dễ đọc hơn hẳn so với hệ 10.

### Nhập số âm được không?

Được, thêm dấu trừ phía trước. Đây là biểu diễn dấu–độ lớn, không phải bù hai như cách máy tính lưu số âm trong bộ nhớ.
