Pomoc: Konwersja 8 bitów do 16 bitów

M

Maverickmax

Guest
Cześć

Jestem trudem zrozumieć, dlaczego negatywny 8 bitów konwertować do 16 bit?Co pozytywny?

Jakie są korzyści?Kod:if (dane & 0x0080)

dane = 0xFF00; / / Konwertuj na negatywne 16-bit

w przeciwnym razie

dane = dane ;

koniec
 
Najbardziej znaczące trochę podpisane numer minus bitowych.Bez korekty do 16 bitów ( " = 0xFF00") negatywnych 8-bitowy negatywne byłyby nadal pozytywny numer podpisana 16 bitów.

Bo tylko chcesz przekonwertować zakres ograniczony podzbiór,
musimy ustawić wartość ujemną.

W podpisanej 8-bitowe liczby idziemy od -128 (0x80) poprzez -1 (0xff),
a następnie 0 do 127 (0x7f).

W podpisanym 16 bitów idziemy z -32768 (0x8000) poprzez -128 (0xFF80) do -1 (0xffff) następnie 0 do 127 (0x007F) do 32767 (0x7FFF).

Jak widać, pozytywne strony nie wymagają korekty, ale musi być negatywne w -128 od zera (0xFF80) do konwersji do pracy.

Spróbuj guglanie "twos uzupełnienie", jeśli potrzebujesz więcej informacji na temat, jak to działa

 

Welcome to EDABoard.com

Sponsor

Back
Top