Wie auf "Add" zwei bytes zusammen
Habe ich eine seltsame Szenario (siehe diese Antwort für mehr details), wo ich brauche, um hinzuzufügen zwei Daten-bytes zusammen. Natürlich ist dies nicht normal hinzufügen. Hier ist das Szenario:
Ich versuche zu bekommen eine Koordinate aus einem control. Wenn die Kontrolle weniger als 256 in der Breite dann die x-Koordinate nimmt ein byte, sonst dauert es zwei Bissen.
So, ich habe nun eine Instanz der Kontrolle, der größer ist als 256 in der Breite. Wie füge ich diese beiden zahlen zusammen?
So zum Beispiel:
- 2 + 0 ist nicht 2, weil die 2 ist das high-byte (oder vielleicht ist es das low-byte und 2...)
Bin ich darin einen Sinn? Wenn ja, wie kann ich tun, diese Art der addition in C#?
Update: Sorry für die verwirrende Frage. Ich glaube, ich habe es herausgefunden. Siehe meine Antwort unten.
hi*256 + lo
?...huh? warum sind Sie sich Gedanken über bytes? Breite ist ein integer.
Nein. Überhaupt keinen Sinn. 🙁
Ich Wette, dass du der 1.000.000.00, lösen können Sie es mit einem
bool
variable.InformationsquelleAutor Vaccano | 2010-10-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ansatz mit der Multiplikation ist ziemlich klar, aber nicht Häufig, in bitweise Wort, und Ihr Ansatz mit BitConverter nimmt byte-array Hexe ist nicht bequem in vielen Fällen.
Den meisten gängigen (und einfacher Weg), um diese durchführen - verwenden von bit-Operatoren:
Und denken Sie daran, über die byte-Reihenfolge denn es ist nicht immer offensichtlich, Hexe byte ist hoch, und die Hexe ist gering.
InformationsquelleAutor Sergey Teplyakov
Du meinst so etwas wie
?
InformationsquelleAutor Daniel Beck
Nur im Fall, jemand Bedürfnisse, ich war auf der Suche nach:
Es dauert zwei bytes und wandelt diese in eine Ganzzahl.
Swangren - gute Frage. Es ist leider eine lange Antwort. Wenn Sie Lesen, diese Frage, die Sie werde sehen, was ich zu tun versuche: stackoverflow.com/questions/2657388/... (genauer gesagt dem 3. Kommentar auf diese Frage)
InformationsquelleAutor Vaccano