Termin na 24 bity

15

Czy istnieje termin na 24-bitową (3-bajtową) liczbę całkowitą?

Wiem, że rzadkie liczby bitów (takie jak „skubanie” lub „nybble” dla 4 bitów) mają nazwy, a posiadanie 24 bitów w technologii wideo i audio, na przykład, jest bardzo powszechne.

Qix - MONICA BYŁA TŁUMACZONA
źródło
3
To pytanie zostało ponownie otwarte przez moderatora dwa razy. Przed głosowaniem w celu zamknięcia należy zapoznać się z meta dyskusją na temat tego pytania oraz wskazówkami dotyczącymi nazywania pytań . Jako społeczność zdecydowaliśmy, że pytanie o standardową nazwę lub nazwy dobrze zdefiniowanej koncepcji jest tematem.
Thomas Owens

Odpowiedzi:

21

Nie, nie sądzę, żeby istniała konkretna nazwa dla 3-bajtowego słowa.

Zauważ, że te 24 bity zwykle reprezentują wartość RGB lub współrzędną głębokości X, Y, więc zwykle do tych wartości odnoszą się nazwy specyficzne dla danego API.

Martijn Pieters
źródło
Tyle wymyśliłem!
Qix - MONICA MISTREATED
2
Nawet architektury, które miały natywne rejestry 24-bitowe, np. Zilog eZ80, nie miały na to specjalnego słowa ( zilog.com/docs/um0077.pdf ). To samo dotyczy rejestrów adresów IBM S / 370 itp.
haimg
2
nie zapomnij o przechowywaniu, większość 24-bitowych wartości jest przechowywanych w 32-bitach ze względu na wymagania magistrali.
gbjbaanb
@gbjbaanb Prawda, bardzo dobra uwaga.
Qix - MONICA MISTREATED
1
Ponadto 80286 i 80386sx mają 24-bitową magistralę adresową, nie ma też na to specjalnego terminu.
ott--
13

Widziałem tribyte używane w tym celu w różnych miejscach.

Po dalszej eksploracji widzę, że w rzeczywistości jest dość często używany, zwłaszcza w wymienionych wyżej kontekstach audio / wideo.

Benedykt
źródło
cóż, jeśli przynajmniej był to trytet, ale tribyte, hm ...
shabunc
5

MySQL stworzył niestandardową nazwę MEDIUMINT. Uważam, że ich TINYINT (zamiast bajtu), SMALL (zamiast krótkiego), MEDIUMINT (24-bit), INT (normalny - w pewnym sensie) i BIGINT (zamiast długiego) są bardzo mylące. Chciałbym, żeby zamiast tego nazwali je INT08, INT16, INT24 itd. Waham się, czy zaproponować terminologię zapełniania standardów jako nowy standard, ale przy braku czegoś lepszego ... nazwałbym to 24-bitową liczbą całkowitą lub int24.

GlenPeterson
źródło
2

Prawdziwe maszyny z 24-bitowymi i 48-bitowymi słowami opisują zaskakującą liczbę komputerów, które używały 24-bitowych słów. Można by pomyśleć, że gdyby istniał konkretny termin inny niż słowo opisujące tę jednostkę danych, byłby wymieniony na tej stronie, ale nie ma go tam.

Caleb
źródło
3
Jest tak, ponieważ standardowym terminem dla n-bajtu, który pasuje do architektury procesora, jest „słowo”: en.wikipedia.org/wiki/Word_%28computer_architecture%29 . Tak więc na maszynie 24-bitowej słowo ma 3 bajty, a 3 bajty to słowo.
Martijn Pieters
I golly; Dorastałem z minikomputerami Harris (mój ojciec był technikiem Harrisa), nie wiedziałem, że to 24-bit! Zrobiłem fałszywe kokpity statku kosmicznego z panelami przełączników Harris 500. :-P
Martijn Pieters
2
@MartijnPieters Bajt niekoniecznie ma szerokość 8 bitów, zwykle 8-bitowy wzorzec nazywany jest oktetem . Mówisz, że słowo będzie 3 oktetami , podczas gdy samo słowo może być pojedynczym bajtem maszyny. Rzeczywiście, istnieją procesory DSP, które mają bajty inne niż 8 bitów, takie jak 12, 16, 20, 24 lub 32 bitów. Świetnym przykładem tego, gdzie ma to znaczenie, są standardy C i C ++, które podają, że CHAR_BIT> = 8. Oznacza to, że zmienne w char mają zawsze jeden bajt, ale niekoniecznie 8 bitów.
zxcdw
1
@zxcdw: Chociaż kiedyś tak było, ISO / IEC 80000-13 ustandaryzowała bajt do 8 bitów (patrz en.wikipedia.org/wiki/Byte ).
Martijn Pieters
1
@MartijnPieters Punkt zajęty, a ja stoję poprawiony w stopniu, w jakim stoi standard. Jednak istnieją aplikacje z bajtami innymi niż 8-bitowe (które nie są zgodne ze standardem) i będą to robić przez długi czas i dlatego uważam, że rozróżnienie to jest istotne w niektórych dziedzinach.
zxcdw
1

Nie sądzę, aby istniała jakaś nazwa dla takiej liczby całkowitej; w rzeczywistości jedyne rozmiary całkowite z własnymi nazwami, o których mogę myśleć, to 1 ( bit ), 4 ( skubanie ) i 8 ( bajt ).

Inne rozmiary oznaczają „n-bitową liczbę całkowitą” lub nazwy, które oznaczają różne rzeczy na różnych platformach ( słowo, int, długie, krótkie, podwójne słowo itp.) Lub w różnych kontekstach ( znakach ).

Tak więc, zgodnie z „32-bitową liczbą całkowitą” i „64-bitową liczbą całkowitą”, „24-bitowa liczba całkowita” ma sens.

tdammers
źródło
1
„słowo” to standardowy n-bajtowy rozmiar danej platformy. W wersji 32-bitowej słowo ma 4 bajty, w wersji 64-bitowej 8 bajtów. Zobacz en.wikipedia.org/wiki/Word_%28computer_architecture%29
Martijn Pieters
@MartijnPieters: Dokładnie. Oznacza różne rzeczy na różnych platformach - na platformie 32-bitowej to 32 bity, na platformie 64-bitowej to 64 bity, na niektórych starożytnych platformach może to być 40 bitów lub 80 lub coś zupełnie innego, na niektórych wbudowanych układach to 16 bitów itp. Itd.
tdammers
-3

Niektóre języki mają typy nazwane zgodnie z formatem wartości i szerokością bitów. C ++ ma int32_t, ma .NET ma Int32, a Go ma int32.

Wszyscy programiści powinni natychmiast rozpoznać znaczenie takiego terminu pochodnego int24, więc myślę, że dopuszczalne byłoby użycie wszędzie tam, gdzie nie podano alternatywnego terminu.

Istnieją nawet implementacje SO dla C ++ i C # .

M. Dudley
źródło