0x dla 8 bitów, co jest używane dla 7 bitów? [Zamknięte]


-4

Piszę dokumentację techniczną i opisuję format 7-bitowego trybu adresowania I2c. Jest to również związane z 7-bitowym kodowaniem ASCII, ale jest to uwaga dodatkowa.

I2c używa 7 bitów (lub 10 bitów nie omówionych tutaj) do adresowania urządzenia podrzędnego. Następujący po 7 bitach adres jest kolejnym bitem, który informuje slave'a, aby czytał lub zapisywał.

Osiem bitów jest przesyłanych podczas wysyłania adresu, ale w rzeczywistości jest to 7 bitów plus bit kierunku (R / w #).

Moje pytanie: jeśli 0x jest używany do opisania bajtu szesnastkowego o podstawie 16, ośmiobitowy, to co jest używany do opisania bajtu o podstawie 15 (uh? Być może słowo bajt jest tutaj również niepoprawne.

Wiem, że 0x służy także do opisywania 16-bitowych słów, ale logicznie są to tak naprawdę dwa 8-bitowe bajty, więc 0x wydaje się OK.

Uwaga: słowo quindecimal otrzymałem stąd http://mathforum.org/library/drmath/view/60405.html

Znak.


1
Bity są binarne. 0x oznacza hex, który nie jest binarny. Po prostu ładnie odwzorowuje, ponieważ jest potęgą dwóch.
Daniel B

O tak, a pojedyncza cyfra szesnastkowa odwzorowuje na 4 bity, a nie na 8. Więc zupełnie nie rozumiem tego, co próbujesz osiągnąć.
Daniel B

2
Mylisz liczbę bitów z radix (aka base). „Piszę dokumentację techniczną ...” - Następnie należy użyć odpowiedniej interpunkcji dla „7-bitowego kodowania” . Nie jest to „kodowanie 7” ani „kodowanie bitowe”, ale „kodowanie 7-bitowe” (tzn. „7” i „bit” idą razem, więc jest dzielony).
trociny

Powinieneś używać notacji szesnastkowej i wyraźnie zaznaczyć, że wartości są kodowane 7-bitowo, aby ułatwić czytanie dokumentacji. Szesnastkowy istnieje dla nas, ludzi, komputer nie dba o to. Komputer
zapisze

Odpowiedzi:


2

Nie masz racji. Używamy 0xdo wskazywania liczb wyrażonych w systemie szesnastkowym, podstawa 16. Używanie 0xprzed liczbami o dowolnej długości jest w porządku , o ile wyrażasz je w podstawie 16.

Jeśli widzisz „0x1”, to tak jak widzenie 1. Może to być jeden bit. To może być bajt. Może to być dowolna długość. „0x” nie sugeruje żadnej określonej długości.


2

Base15 nie oznacza 7-bitowego bajtu. Pojęcia nie mają żadnego związku ...

7-bitowy bajt jest właśnie taki. Bajt, w którym nie jest używany najbardziej znaczący bit.
Nie ma nic złego w używaniu notacji szesnastkowej z prefiksem 0x do wyświetlania wartości przechowywanych w takich 7-bitowych bajtach, o ile wyraźnie wyjaśnisz, że tylko 7 bitów jest poprawnych. (Innymi słowy: 0x0 * do 0x7 *, cyfry 0x8 * i wyższe nie są używane).

Według mojej wiedzy nie ma na to specjalnego zapisu.
Programuję od ponad 30 lat iz powrotem w ciągu dnia te 7-bitowe systemy były o wiele bardziej powszechne niż obecnie. Gdyby istniała specjalna notacja, napotkałbym ją w pewnym momencie, ale nigdy tak nie było.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.