Język C oraz C++ definiują bajt jako „adresowalna jednostka danych, na tyle duża, by można było do niej przypisać każdy znak z zestawu znaków środowiska wykonawczego” (paragraf 3.6 standardu C). Typ danych char języka C musi zawierać co najmniej 8 bitów (paragraf 5.2.4.2.1), stąd bajtem może być jedna z 256 różnych wartości (bez względu na to, czy dana to signed char czy unsigned char). Różne implementacje języka C i C++ definiują bajt jako daną 8-, 9-, 16-, 32- lub 36-bitową. Właściwa liczba bitów w poszczególnych implementacjach jest podana jako wartość CHAR_BIT w pliku nagłówkowym limits.h. W Javie bajt jest zawsze zdefiniowany jako 8-bitowy, będący typem danych ze znakiem (ang. signed data type), stąd obejmuje wartości od −128 do 127.
Wczesne mikroprocesory, takie jak Intel 8008 (poprzednik 8080 i 8086), mogły wykonywać niektóre operacje na 4 bitach, takie jak np. DAA (ang. Decimal Adjust after Addition) oraz ustawianie flagi half carry (połowicznego przeniesienia), które służyły do implementacji arytmetyki dziesiętnej. Te 4-bitowe typy danych nosiły nazwę nibble (kęsek).
Historyczne dokumenty IETF opisują różne przykłady bajtów.