2015-08-26 36 views
0

我正在研究角度js。按位運算多角度js中的二進制數據

我對多位二進制數據(二進制數據[「1」,「100」,「10000」,「10」])的位運算有疑問。

在我的HTML頁面有一個多個複選框的字段。每個複選框的值爲1,2,4,8,16,32。存儲在數據庫中。我在這個特定的HTML頁面的控制器,我將這些轉換爲二進制數據並存儲在一個數組。[「1」,「100」,「10000」,「10」]

因此,如果我檢查3字段值(例如..1,4,16 ..),這些值的相應二進制數據數組應執行二進制和操作,並根據結果我必須將其十進制值存儲在數據庫中。

請幫我解決這個問題。

回答

0

首先轉換您的字符串,整型,與parseInt和2

基數然後按位OR它們,將它們打包到一個整數。

var bits = ["1","100","10000","10"].map(function (x) { 
    return parseInt(x, 2); 
}); 

var result = bits.reduce(function (accumulator, curr) { 
    return accumulator | curr; 
}); 

//result is now 23 which is the decimal representation of binary 1 0 1 1 1 
//-------------------------------------------------------------- 16 +0 +4 +2 +1 
+0

Thnq這麼多....它幫助保存了添加到數據庫的值。 – Teja

+0

現在我的問題是...基於這個結果值...我如何綁定到特定的領域。例如...該字段有1,2,4,16個值,通過添加它的23 ...基於23我應該使我的複選框檢查字段中的這些相應的值..請幫助我dis。 – Teja

相關問題