2011-11-19 4 views
1

je besoin d'une fonction javascript qui convertissent une chaîne HEX 4 octets BIN (utiliser une partie auf les octets) à décembremanipulation de bit

Ces données proviennent d'un capteur et les valeurs mesurées sont distribuées dans cette chaîne.

exemple ("ff027608", BitOffset = 7, BitSize = 4)

11111111000000100111011000001000 -> 1000 -> 8 (DEC)

----------- ^^^^

à partir de décalage 7 est un 4 Bit Valeur

function convert(bp,BitOffset,BitSize){ 
    bp >>= parseFloat(BitOffset); 
    bp <<= parseFloat(BitSize); 
    return bp; 
}; 

1) Comment puis-je convertir Hex Entier long

2) Comment découper la valeur de 4 octets CIPS

3) Comment puis-je convertir en un DEC

Ou est-il une meilleure façon

Merci à l'avance

+0

Veuillez accepter l'une des réponses. Cliquez sur la grosse coche à côté de la meilleure. – robertc

Répondre

1

Vous peut convertir hex faire avec décembre:

var dec = parseInt(hex, 16); 

et de diminuer pour ensorceler avec

var hex = dec.toString(16); 

et du bac à décembre avec

var dec = parseInt(bin, 2); 

et de décembre au bac avec

var bin = dec.toString(2); 
0

Je pense que cela est plus facile ainsi:

function convert(input, offset, size){ 
    var result = input.substr(offset, size); 
    result = parseInt(result, 2); 

    return result; 
} 

Vous pouvez convertir hex en en utilisant parseInt(hex, 16), mais j'ai peur que JS ne supporte pas les longs (AFAIK). Si vous avez besoin de long, vous devez probablement le diviser en deux ints.