Bitverschiebung
Mr_SOL
- javascript
Hallo
Vielleich hat jemand von euch eine Idee oder Hinweis.
Ich habe eine String!! welche 4 Bytes lang ist, der Inhalt stammt von einen Sensor und beinhaltet verschieden Werte, diese werden im Browser dargestellt.
Aus diesen soll ab einen Startbit (BitOffset) auf eine Länge (BitSize) Daten herausgeschnitten werden.
Beispiel (Bytes=4, BitOffset=4,BitSize=4)
00110010 01011011 00000000 00000000-> 0010
Mein Lösungsansatz
value<<=32-(BitOffset+BitSize);
value>>=32-BitSize;
Durchbitverschiebung den Wert extrahieren.
Problem in js gibts keine "String to LongInteger".
Danke in Voraus.
Yerf!
Problem in js gibts keine "String to LongInteger".
Aber es gibt http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#parse_int@title=ParseInt(), das kann auch mit Dualzahlen umgehen (2. Parameter)
Ich würd aber evtl. das ganze über Stringfunktionen abhandeln. Mit http://de.selfhtml.org/javascript/objekte/string.htm#replace@title=replace() alle leerzeichen entfernen und dann mit http://de.selfhtml.org/javascript/objekte/string.htm#substr@title=substr() den gesuchten Teil ausschneiden.
Gruß,
Harlequin
Besten Dank für die Antwort. ParseInt() kenne ich. Die Leerzeichen der 2 letzten Byte ist nur ein Beispiel, hier kann sehr wohl ein Wert stehen.
Hi,
Ich habe eine String!! welche 4 Bytes lang ist, der Inhalt stammt von einen Sensor und beinhaltet verschieden Werte, diese werden im Browser dargestellt.
Aus diesen soll ab einen Startbit (BitOffset) auf eine Länge (BitSize) Daten herausgeschnitten werden.
http://de.selfhtml.org/javascript/objekte/string.htm#substr
MfG ChrisB
var s = "asdf";
var s2 = "";
for (var i = 0, l = s.length; i < l; i++) {
s2 += s.charCodeAt(i).toString(2);
}
s2.substring(bitOffset, bitOffset + bitSize)
Geht sicher einfacher, mit Bitoperationen kenne ich mich nicht aus.
Mathias