Byte (đọc là bai) 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.
Ý nghĩa
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ủy byte
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
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
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 32 bit được gọi là một word. Cụm tương ứng 64bit 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
"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
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.
👁️
0 | 🔗 | 💖 | ✨ | 🌍 | ⌚
**Byte** (đọc là _bai_) 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_)
**Mã byte Java** (tiếng Anh: **Java bytecode**), là tập lệnh của máy ảo Java (JVM). ## Liên quan đến Java Một lập trình viên Java hoàn toàn không cần phải biết hoặc hiểu mã byte
"**Byte**" là một bài hát của DJ người Hà Lan Martin Garrix và Brooks. Nó được ra vào ngày 7 tháng 4 năm 2017, thông qua hãng thu âm của Garrix là STMPD RCRDS và
Biết Tuốt Về Đo Lường Đọc sách báo, cậu thấy ù hết cả tai với mét, phít, in-sơ. Trên ti-vi thì nói cái gì mà bit với byte ấy nhỉ. Lại còn trọng lượng và
**_Anno 1404_**, còn gọi là **_Dawn of Discovery_** ở Bắc Mỹ, là một game mô phỏng kinh tế và xây dựng thành phố với các yếu tố chiến lược thời gian thực, một phần của
**_Anno 2070_** là một game mô phỏng kinh tế và xây dựng thành phố, với các yếu tố chiến lược thời gian thực. Đây là phiên bản thứ năm của dòng game _Anno_. Trò chơi
**_Anno 1800_** là một game chiến thuật xây dựng thành phố thời gian thực do studio Blue Byte của Ubisoft phát triển và sẽ được Ubisoft phát hành. Trò chơi ra mắt vào tháng 1
**Modbus** hay MODBUS là một giao thức truyền thông ở tầng Application theo mô hình OSI, hỗ trợ giao tiếp theo mô hình client/server giữa các thiết bị kết nối trong nhiều loại bus hoặc
Trong tính toán, **tiền tố nhị phân** được dùng để định lượng những con số lớn mà ở đó dùng lũy thừa hai có ích hơn dùng lũy thừa 10 (như kích thước bộ nhớ
**TCP** (_Transmission Control Protocol_ - "Giao thức điều khiển truyền vận") là một trong các giao thức cốt lõi của bộ giao thức TCP/IP. Sử dụng TCP, các ứng dụng trên các máy chủ được
Trong mật mã học, **Advanced Encryption Standard** (tiếng Anh, viết tắt: **AES**, nghĩa là **Tiêu chuẩn mã hóa tiên tiến**) là một thuật toán mã hóa khối được chính phủ Hoa Kỳ áp dụng làm
nhỏ|300x300px|Trong máy tính sử dụng [[bộ nhớ ảo, việc truy cập vị trí tương ứng với một địa chỉ bộ nhớ có thể bao gồm nhiều tầng.]] Trong máy tính, **địa chỉ bộ nhớ** là
**Gigabyte** (từ tiền tố _giga-_ của SI) là đơn vị thông tin hoặc khả năng lưu giữ thông tin của bộ nhớ máy tính, bằng một tỷ byte hoặc 230 byte (1024 mebibyte). Gigabyte thường
**Megabyte** là một đơn vị thông tin hoặc dung lượng tin học bằng với 10002 byte hoặc 10242 byte, tùy vào ngữ cảnh. Trong vài trường hợp hiếm, nó dùng để chỉ 1000×1024 bytes. Megabyte
**Kích thước tập tin** là kích thước của một tập tin máy tính. Thông thường nó được đo bằng đơn vị byte với một tiền tố. Lượng không gian đĩa trên thực tế được sử
Khái niệm **số Hex** là viết tắt trong tiếng Anh để biểu diễn các số hay chuỗi số dưới dạng của hệ đếm thập lục phân (cơ số 16). ## Thiết kế Web Trong việc
**Secure Digital**, viết tắt chính thức là **SD**, là định dạng thẻ nhớ bộ nhớ không bay hơi độc quyền được phát triển bởi SD Association (tạm dịch: Hiệp hội Thẻ SD, viết tắt: SDA)
**FlexRay** là một giao thức truyền thông mạng nội bộ trong ô tô do FlexRay Consortium phát triển. FlexRay được thiết kế nhanh hơn và đáng tin cậy hơn CAN và TTP nhưng đắt hơn.
Trong lập trình, **Base64** là nhóm lược đồ mã hóa nhị phân thành văn bản đại diện cho dữ liệu nhị phân (cụ thể hơn là chuỗi byte 8 bit) ở định dạng chuỗi ASCII
**Ổ đĩa cứng**, hay còn gọi là **ổ cứng** (tiếng Anh: **_H**ard **D**isk **D**rive_, viết tắt: **HDD**) là thiết bị dùng để lưu trữ dữ liệu trên bề mặt các tấm đĩa hình tròn phủ
**Mebibyte** là một bội số của đơn vị byte trong đo lường khối lượng thông tin số. Tiền tố nhị phân _mebi_ nghĩa là 220, bởi vậy 1 _mebibyte_ bằng 1048576bytes
nhỏ|chip BIOS AMD27C256 **BIOS,** viết tắt của cụm từ "**Basic Input/Output System**" (tạm dịch: **Hệ thống nhập xuất cơ bản)** là chương trình được chạy đầu tiên khi máy tính cá nhân khởi động để
**IEC 61131-3** là phần thứ ba trong 8 phần của international standard IEC 61131, được công bố lần đầu tiên vào tháng 12 năm 1993 bởi IEC(Ủy ban điện quốc tế). Phiên bản hiện tại
nhỏ|Một tập tin bitmap **Định dạng tập tin** là một cách chuẩn để thông tin được mã hóa trong việc lưu trữ trong các file. Nó chỉ định cách các bit được sử dụng để
Class trong **C++** là khái niệm được người dùng định nghĩa như một kiểu dữ liệu đơn giản hay một cấu trúc dữ liệu, được khai báo bằng từ khóa **class, **nó chứa các biến
**K****ibibyte** là một bội số của đơn vị byte trong đo lường khối lượng thông tin số. Tiền tố nhị phân _kibi_ có nghĩa là 210, hoặc 1024, bởi vậy 1 kibibyte bằng 1024 byte. Ký hiệu
**Ký tự rỗng** (null character) hay còn được gọi là **dấu kết rỗng** (null terminator), viết tắt: **NULL**, là một ký tự điều khiển có giá trị zero. Ký tự rỗng hiện diện ở nhiều
nhỏ|Máy in Game Boy **Máy in Game Boy**, còn gọi là ở Nhật Bản, là một phụ kiện máy in nhiệt do Nintendo phát hành năm 1998, và đã ngừng sản xuất vào đầu năm
**Terabyte** (xuất phát từ tiền tố _tera-_ và thường được viết tắt là **TB**) là một thuật ngữ đo lường để chỉ dung lượng lưu trữ máy tính. Giá trị của một terabyte dựa trên
**UTF-8** (_8-bit Unicode Transformation Format_ - _Định dạng chuyển đổi Unicode 8-bit_) là một bộ mã hóa ký tự với chiều rộng biến thiên dành cho Unicode. Tương tự như UTF-16 và UTF-32, UTF-8 có
Trong lập trình máy tính, **mô thức async/await** là một tính năng cú pháp của nhiều ngôn ngữ lập trình, cho phép cấu trúc nên hàm 'bất đồng bộ, non-blocking' theo lối y hệt ở
Trong viễn thông và điện toán, **tốc độ bit** (Tiếng Anhː **bit rate,** **bitrate;** hoặc như là biến _R_) là số bit được truyền đi hoặc xử lý trong mỗi đơn vị thời gian. Tốc
nhỏ|Ví dụ của Data Striping. Các tệp A và B, gồm bốn khối, mỗi khối được trải rộng trên các đĩa D1 đến D3. Trong lưu trữ dữ liệu máy tính, **data striping** là kỹ
**Kilobyte** (xuất phát từ tiền tố SI _kilo-_, có nghĩa là 1.000) là 1.000 byte hoặc 1.024 byte (210), tùy vào ngữ cảnh. Nó có thể được viết tắt theo nhiều cách: **K**, **KB**, **Kbyte**
**Bit chẵn lẻ** (tiếng Anh: _parity bit_), hoặc **bit kiểm tra** (tiếng Anh: _check bit_), là một bit được thêm vào một chuỗi mã nhị phân, để kiểm tra phát hiện lỗi trong dữ liệu
Trong các lĩnh vực an ninh máy tính và lập trình, một **lỗi tràn bộ nhớ đệm** hay gọi tắt là **lỗi tràn bộ đệm** (tiếng Anh: _buffer overflow_) là một lỗi lập trình có
Trong toán học và trong khoa học điện toán, **hệ thập lục phân** (hay **hệ đếm cơ số 16**, tiếng Anh: _hexadecimal_), hoặc chỉ đơn thuần gọi là thập lục, là một hệ đếm có
**Cicada 3301** (tạm dịch: **Ve sầu 3301**) là biệt danh của một tổ chức đã ba lần đăng tải một chuỗi các câu đố với mục đích chiêu mộ những "tài năng" từ khắp nơi
**PARC Universal Packet** là một trong hai bộ giao thức mạng nội bộ sớm nhất; nó được tạo ra bởi các nhà nghiên cứu tại Xerox PARC vào giữa những năm 1970. (Về mặt kỹ
**wc** (viết tắt cho "**w**ord **c**ount", tức "đếm từ") là một lệnh trong các hệ điều hành Unix, giống Unix, Plan 9, và Inferno. Chương trình đọc đầu vào chuẩn hoặc một danh sách các
Trong các hệ điều hành tương tự Unix, **tập tin thiết bị** hoặc **tập tin đặc biệt** là giao diện tới driver thiết bị nằm trong hệ thống tập tin như một tập tin thông
Một số loại RAM.
Từ trên xuống: DIP, SIPP, SIMM 30 chân, SIMM 72 chân, DIMM (168 chân), DDR DIMM (184-chân). **RAM** (viết tắt của **Random Access Memory**) là một loại **_bộ nhớ khả
**QoS mạng IP** là nói đến các kỹ thuật xử lý lưu lượng trong mạng truyền số liệu sử dụng bộ giao thức IP (Internet Protocol) nhằm đảm bảo các loại lưu lượng có yêu
Tập tin:RAID 0.svg Tập tin:RAID 1.svg Tập tin:RAID 3.svg Tập tin:RAID 4.svgTập tin:RAID 5.svg Tập tin:RAID 6.svg **RAID** _(Redundant Arrays of Inexpensive Disks hoặc Redundant Arrays of Independent Disks)_ là hình thức ghép nhiều ổ
Trong mật mã học, **MD5** (viết tắt của tiếng Anh **Message-Digest algorithm 5**, Thuật toán Tiêu hóa-tin nhắn 5) là một hàm băm mật mã học được sử dụng phổ biến với giá trị băm
**Giao thức Internet phiên bản 4** (viết tắt **IPv4**, từ tiếng Anh _Internet Protocol version 4_) là phiên bản thứ tư trong quá trình phát triển của các giao thức Internet (IP). Đây là phiên
Thuật ngữ **x86** dùng để chỉ tới kiến trúc tập lệnh của dòng vi xử lý 8086 của Intel. 8086 được Intel đưa ra năm 1978. Intel xem dòng phát triển 8086 là IA-32. Kiến
**cmp** là một tiện ích sử dụng giao diện dòng lệnh của Unix hay hệ điều hành giống Unix. Chương trình so sánh hai tập tin và xuất kết quả ra thiết bị đầu ra
Trong phần mềm, **tràn bộ đệm ở ngăn xếp** (tiếng Anh: _stack buffer overflow_ hay _stack buffer overrun_) xảy ra khi một chương trình viết địa chỉ bộ nhớ lên vùng gọi ngăn xếp của
phải|nhỏ| Một so sánh về kiến trúc Dalvik và ART **Android Runtime** (**ART**) là môi trường thời gian chạy ứng dụng được sử dụng bởi hệ điều hành Android. Thay thế Dalvik, máy ảo quy