Điều khác là, chủ yếu vì lý do lịch sử, hầu hết dữ liệu được chia thành các byte 8 bit. Nó có thể là bất kỳ số nào, nhưng các máy tính 8 bit thực sự rất phổ biến khi mọi thứ thực sự lần đầu tiên được chuẩn hóa, tôi đoán vậy.
Ví dụ: văn bản thường được lưu trữ với một byte 8 bit cho mỗi chữ cái (ở chế độ ASCII). Các tệp dữ liệu thường được lập chỉ mục bằng cách sử dụng con trỏ tới các chỉ mục byte. Mọi người nói về kilobyte, và megabyte, và chúng có nghĩa là 1024 * 8 bit. hoặc 2 * 8 bit.
Byte là loại đơn vị tính toán phổ quát cho nhiều mục đích. Nếu bạn muốn chỉnh sửa một tệp chuẩn được đọc bởi các chương trình khác, bạn có thể sẽ cần tải nó vào một byte [] và thao tác các byte riêng lẻ tại một thời điểm nào đó.
Nếu mặt trời không bao gồm một kiểu dữ liệu byte, việc viết các chương trình java làm việc với dữ liệu hoặc văn bản từ các chương trình khác sẽ là một nỗi đau lớn. Bạn sẽ phải tải các số nguyên, và thực hiện các phép dịch và các phép toán để tách riêng các bit riêng lẻ và chia các chỉ mục cho 4 lần. Không vui.
Vì vậy, byte không thực sự được thêm vào để tiết kiệm bộ nhớ, nhưng vì lợi ích tương thích.
Vì byte có thể có một trong 2 = 256 giá trị có thể, Sun quyết định chúng nên biểu thị từ -128 đến 127, thay vì từ 0 đến 255, vì chúng không muốn xử lý cả chữ ký và dấu số (tất cả các kiểu dữ liệu của chúng được ký, và Java không có từ khóa chưa ký như C/C++)
Chúng sử dụng phần bổ sung của hai vì đây là cách tiêu chuẩn để xử lý các số âm.
Nguồn
2009-12-31 22:40:35