Nếu bạn là một người dùng máy tính thường xuyên, chắc hẳn bạn đã từng nghe về hai thuật ngữ Bit và Byte. Vậy Bit và Byte là gì? Chúng khác nhau như thế nào? Khi nào chúng ta nên sử dụng Bit và khi nào chúng ta nên sử dụng Byte? Cách đo lường thông tin của hai đơn vị này ra sao? Tại sao 1 byte bằng 8 bit? Hãy cùng tìm hiểu trong bài viết sau đây.
Byte (đọc là bai-(tơ)) là một đơn vị lưu trữ dữ liệu cho máy tính, bất kể loại dữ liệu đang được lưu trữ. Nó cũng là một trong những kiểu dữ liệu (data type) trong nhiều ngôn ngữ lập trình.
Bit là gì?
Bit, hay còn được gọi là chữ số nhị phân, là đơn vị cơ bản nhất để biểu diễn thông tin trong máy tính. Mỗi bit chỉ có thể mang một trong hai giá trị: 0 hoặc 1, tương ứng với hai trạng thái tắt hoặc mở của cổng logic trong mạch điện tử. Đáng chú ý là hệ nhị phân đã trở thành một yếu tố cấu thành quan trọng trong máy tính hiện đại và ngôn ngữ giao tiếp ở cấp độ thấp vẫn sử dụng hệ đếm này.
Byte là gì?
Byte là một đơn vị dùng để biểu diễn một chuỗi bit có độ dài cố định, được Werner Buchholz đề xuất trong quá trình thiết kế hệ thống IBM 7030. Một byte bao gồm 8 bit, có thể biểu diễn 256 giá trị khác nhau (2^8 = 256), đủ để lưu trữ một số nguyên không dấu từ 0 đến 255 hoặc số có dấu từ -128 đến 127. Tuy nhiên, trong thời gian ban đầu, một số máy tính cũ hơn như IBM 1401 chỉ sử dụng 6 bit trong một byte cho đến cuối năm 1956, khi chuẩn về byte 8 bit mới được thiết lập.
Tại sao 1 byte bằng 8 bit?
Tại vì một Byte, tương đương với 8 Bit, là đơn vị bộ nhớ nhỏ nhất mà nhiều hệ thống máy tính có thể xử lý. Danh sách dưới đây sẽ minh họa mối liên hệ giữa tất cả các đơn vị dữ liệu khác nhau dựa trên Bit và Byte.
Ý nghĩa Sửa đổi
Bội số của byte theo IEC 60027-2 |
||||||
---|---|---|---|---|---|---|
Tiền tố SI | Tiền tố nhị phân | |||||
Tên | Ký hiệu | Bội số | Tên | Ký hiệu | Bội số | |
kilobyte | kB | 103 (hay 210) | kibibyte | KiB | 210 | |
megabyte | MB | 106 (hay 220) | mebibyte | MiB | 220 | |
gigabyte | GB | 109 (hay 230) | gibibyte | GiB | 230 | |
terabyte | TB | 1012 (or 240) | tebibyte | TiB | 240 | |
petabyte | PB | 1015 (hay 250) | pebibyte | PiB | 250 | |
exabyte | EB | 1018 (hay 260) | exbibyte | EiB | 260 | |
zettabyte | ZB | 1021 (hay 270) | ||||
yottabyte | YB | 1024 (hay 280) |
Chữ “byte” có một số nghĩa, đều liên quan đến nhau:
- Một dãy số liền nhau của một số bit cố định. Trong đại đa số các máy tính hiện đại, byte có 8 bit (octet). Tuy nhiên, không phải máy nào đều cũng dùng byte có 8 bit. Một số máy tính đời cũ đã dùng 6, 7, hay 9 bit trong một byte – một thí dụ là trong cấu trúc 36 bit của bộ máy PDP-10. Một ví dụ khác là đơn vị slab của bộ máy NCR-315. Một byte luôn luôn không chia rời được, nó là đơn vị nhỏ nhất có thể truy nhập được. Một byte 8 bit có thể biểu thị được 256 giá trị khác nhau (28 = 256) — đủ để lưu trữ một số nguyên không dấu từ 0 đến 255, hay một số có dấu từ -128 đến 127, hay một ký tự dùng mã 7 bit (như ASCII) hay 8 bit.
- Một dãy bit tạo thành một “sub-field” của một dãy số dài hơn được gọi là “word”. Một số máy tính cho phép truy nhập byte có độ dài tùy ý. Trong các câu lệnh assembly LDB và DPB của bộ máy PDP-10, còn tồn tại dưới dạng phép tính từng byte trong Lisp Phổ thông; và byte 6 bit của bộ máy IBM 1401.
- Một kiểu dữ liệu hay một từ đồng nghĩa cho một kiểu dữ liệu trong một số ngôn ngữ lập trình. Trong C, byte được định nghĩa là một đơn vị có thể chứa được bất cứ một ký tự nào trong môi trường hoạt động (điều khoản 3.5 trong tiêu chuẩn C). Vì kiểu dữ liệu số nguyên
char
có thể lưu trữ ít nhất 8 bit (điều khoản 5.2.4.2.1), một byte trong C có thể giữ được ít nhất 256 giá trị khác nhau (char
không phân biệt có dấu hay không có dấu). Kiểu dữ liệu nguyên thủybyte
trong Java được định nghĩa có 8 bit và là một kiểu dữ liệu có dấu, có thể lưu giá trị tự -128 đến 127.
Nguồn gốc tên Sửa đổi
Thuật ngữ byte được Werner Buchholz đặt ra trong năm 1956 trong giai đoạn thiết kế ban đầu cho hệ thống IBM 7030. Thoạt tiên nó được mô tả là 1 đến 6 bit; các thiết bị I/O thời đó dùng đơn vị 6 bit. Cuối năm 1956, một byte đã được đổi thành 8 bit, và độ lớn này đã được phổ thông hóa trong hệ thống System/360. Từ này được đặt ra bằng cách đổi cách viết chữ bite (cắn, một lối chơi chữ với chữ bit – miếng) để nó khỏi bị viết sai thành bit.
Các tên khác Sửa đổi
Byte 8 bit còn thường được gọi là octet (bộ tám) trong ngữ cảnh chính thức như các tài liệu tiêu chuẩn, hay trong mạng máy tính và viễn thông. Từ này cũng được sử dụng trong thuật ngữ của một số ngôn ngữ không phải tiếng Anh khi lối chơi chữ bite không có nghĩa.
Một nửa byte 8 bit (4 bit) đôi khi còn được gọi là nibble (gặm). Nibble còn được gọi là semioctet (nửa octet) trong ngữ cảnh mạng máy tính và viễn thông cũng như bởi một số tổ chức tiêu chuẩn.
Cụm 16 bit được gọi là một word. Cụm tương ứng 32bit gọi là double word.
Một số được biểu diễn 8 bit: 10011001 (với bit đầu tiên là msb (most significant bit: bit có trọng số cao nhất), bit cuối cùng là lsb (least significant bit: bit có trọng số thấp nhất).
Viết tắt sửa đổi
“Byte” thường được viết tắt là “B”, và “megabyte” được viết tắt là “MB”.
”b” là viết tắt của bit, ví dụ như 10b được hiểu là 10 bits,10mb được hiểu là 10 Megabits.
Do đó cần phần biệt giữa bit ”b” và Byte ”B”.
Một số nước nói tiếng Pháp đôi khi dùng “o” cho “octet”. Việc này không chấp nhận được trong SI vì nó có thể nhầm lẫn với số 0.
Tên cho các đơn vị lớn hơn sửa đổi
Lưu ý: các tên “kilobyte”, “megabyte”, “gigabyte”, v.v. có thể được dùng cho các tiền tố SI hay nhị phân. Xin xem Tiền tố nhị phân để biết thêm chi tiết.
Trên đây là một số khái niệm về Bit là gì và Byte là gì. Và đơn vị đo thông tin cho biết Tại sao 1 byte bằng 8 bit. Cám ơn các bạn đã tham khảo bài viết.