Bajt starszy i młodszy na liczbę dziesiętną

Bajt starszy i młodszy na liczbę dziesiętną
UA
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam, do mojego programu przychodzą dane w postaci tablicy bajtów. Teraz mając tablicę typu byte i zakodowane w niej liczby całkowite

Kopiuj
tablica[0] // bajt starszy
tablica[1] // bajt młodszy

Jak zrobić z tego jedną liczbę całkowitą. Czy tak jest poprawnie ?

Kopiuj
short num = BitConverter.ToInt16(tablica, 0);
  • Rejestracja: dni
  • Ostatnio: dni
0

Ja bym to zrobił tak

Kopiuj
short value = tab[0]<<8 | tab[1];

Bo nie znam c#

R3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 419
0

należałoby sprawdzić BitConverter.IsLittleEndian i reagować zależnie od wyniku https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/types/how-to-convert-a-byte-array-to-an-int

UA
  • Rejestracja: dni
  • Ostatnio: dni
0

Oki spróbuję zobaczę co mi jutro wyjdzie.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.