Theo như tôi biết không thể sử dụng biểu thức nhị phân trong Javascript. Tôi có ba giải pháp cho bạn, tất cả đều có vấn đề của họ. Tôi nghĩ rằng thay thế 3 là hầu hết "đẹp trai" cho dễ đọc, và nó có thể nhanh hơn nhiều so với phần còn lại - ngoại trừ chi phí thời gian chạy ban đầu. Vấn đề là nó chỉ hỗ trợ giá trị lên đến 255.
Alternative 1: "00001111".b()
String.prototype.b = function() { return parseInt(this,2); }
Phương án 2: b("00001111")
function b(i) { if(typeof i=='string') return parseInt(i,2); throw "Expects string"; }
Alternative 3: b00001111
Phiên bản này cho phép bạn nhập số nhị phân 8 chữ số b00000000
, 4 chữ số b0000
và variab le digits b0
. Đó là b01
là bất hợp pháp, bạn phải sử dụng b0001
hoặc 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;
Ra khỏi tò mò: Tại sao bạn sẽ cần chữ nhị phân trong Javascript? Bản chất cấp cao của Javascript có nghĩa là nó thường không cần phải tương tác với các cấu trúc mức thấp đòi hỏi các chữ nhị phân. –
Bởi vì cách này mã sẽ dễ đọc hơn. Việc triển khai của tôi dựa trên một số Đặc điểm kỹ thuật sử dụng số nhị phân. –
sử dụng nút js cho robot là một ví dụ điển hình về nơi nhị phân có thể được yêu cầu –