Ich habe einige C# -Code, der einige bitweise Operationen an einem Byte ausführt. Ich versuche das gleiche in Golang zu tun, habe aber Schwierigkeiten.Golan bitweise Operationen sowie allgemeine Byte-Manipulation
Beispiel in C#
byte a, c;
byte[] data;
int j;
c = data[j];
c = (byte)(c + j);
c ^= a;
c ^= 0xFF;
c += 0x48;
Ich habe gelesen, dass golang nicht bitweise Operationen auf dem Byte-Typ durchführen kann. Muss ich daher meinen Code in einen Typ uint8 ändern, um diese Operationen auszuführen? Wenn ja, gibt es einen sauberen und korrekten Weg, dies zu implementieren?
Danke. Ich hatte angenommen, weil ich bitweise Operationen auf einem [] Byte der Länge 1 nicht durchführen konnte, und es konnte nur auf unsigned Ints tun. – John
@john Keine bitweisen Operationen auf Slices, auch wenn sie die Länge 1 haben. Dies ist nicht R oder MATLAB, wo ein Skalar mit einem Vektor der Länge 1 übereinstimmt. –