Autant que je sache, il n'est pas possible d'utiliser un binaire denoter en Javascript. J'ai trois solutions pour vous, qui ont toutes leurs questions. Je pense que la variante 3 est le plus "beau" pour des raisons de lisibilité, et c'est peut-être beaucoup plus vite que le reste - à l'exception de son premier moment de l'exécution de coût. Le problème est qu'il prend en charge uniquement les valeurs jusqu'à 255.
Solution 1: "00001111".b()
String.prototype.b = function() { return parseInt(this,2); }
Variante 2: b("00001111")
function b(i) { if(typeof i=='string') return parseInt(i,2); throw "Expects string"; }
Variante 3: b00001111
Cette version vous permet de vous tapez 8 chiffres binaires b00000000
, le chiffre 4 b0000
et variable chiffres b0
. C'est - b01
est illégal, vous devez utiliser b0001
ou b1
.
String.prototype.lpad = function(padString, length) {
var str = this;
while (str.length < length)
str = padString + str;
return str;
}
for(var i = 0; i < 256; i++)
window['b' + i.toString(2)] = window['b' + i.toString(2).lpad('0', 8)] = window['b' + i.toString(2).lpad('0', 4)] = i;