caid Skrevet 16. mars 2008 Skrevet 16. mars 2008 Jeg ønsker å splitte en 2 byte til sine respektive hi and low nibbles slik som dette: byte: 0xAB Hi: 0xA Lo: 0xB Har laget meg en kode som gjør dette: // Denne skal slittes i 0xA og 0xB byte b = 0xAB; // Hi byte, får verdien 10 eller 0xA int hi = b / 0x10; //Lo byte, får verdien 11 eller 0xB int lo = b % 0x10; Men lurte på om C# har en funksjon som gjør dette automatisk. Vet at i Delphi kan man bruke Hi(i) og Lo(i), finnes det noe tilsvarende i C#?
j000rn Skrevet 16. mars 2008 Skrevet 16. mars 2008 (endret) void SplitByte(byte input, out byte hi, out byte low) { hi = input >> 4; low = input & 0xF; } Edit: skrivefeil... Endret 16. mars 2008 av jorn79
caid Skrevet 16. mars 2008 Forfatter Skrevet 16. mars 2008 Takker for raskt svar igjen Måtte bare forandre output til int, virke som C# ikke vil regne med byte.. Regner med denne er raskere en mitt forslag??
j000rn Skrevet 16. mars 2008 Skrevet 16. mars 2008 Nå skal den virke med byte. void SplitByte(byte input, out byte hi, out byte low) { hi = (byte)(input >> 4); low = (byte)(input & 0xF); }
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå