js 位運算子 以及 心算十進位制二進位制相互轉換

2022-08-24 11:15:09 字數 1433 閱讀 9129

位運算子

|(或) 運算

有1即為1,雙0才為0

1 31| 2 = 11111 | 10 = 11111 = 3

2 3 | 4 = 11 | 100 = 111 = 7

3 6 | 7 = 110 | 111 = 111 = 7

4 10 | 9 = 1010 | 1001 = 1011 = 11

&(與) 運算有0即為0,雙1才為1

1 31 & 2 = 11111 & 10 = 00010 = 2

2 3 & 4 = 11 & 100 = 000 = 0

3 6 & 7 = 110 & 111 = 110 = 6

4 10 & 9 = 1010 & 1001 = 1000 = 8

^(異或) 運算不等為即為1,相等為0

1 31 ^ 2 = 11111 & 10 = 11101 = 29

2 3 & 4 = 11 & 100 = 111 = 7

3 6 & 7 = 110 & 111 = 001 = 1

4 10 & 9 = 1010 & 1001 = 0011 = 3

移幾位,右側補幾個0

1 31 << 2 = 11111 + 00 = 1111100 = 124

2 3 << 4 = 11 + 0000 = 110000 = 48

3 6 << 3 = 110 + 000 = 110000 = 48

4 10 << 4 = 1010 + 0000 = 10100000 = 160

>>(右移位) 運算

移幾位,左側補幾個0,右側刪除相應位數

1 31 >> 2 = 00 + 11111 = 00111 = 7

2 60 >> 4 = 0000 + 111100 = 000011 = 3

3 27 >> 3 = 000 + 11011 = 00011 = 3

4 100 >> 4 = 0000 + 1100100 = 0000110 = 6

心算十進位制二進位制相互轉換例如想要知道十進位制108在二進位制下是多少

老方法:

新方法:

js 二進位制位運算子

ecmascript 整數有兩種型別,即有符號整數 允許用正數和負數 和無符號整數 只允許用正數 在 ecmascript 中,所有整數字面量預設都是有符號整數,這意味著什麼呢?有符號整數使用 31 位表示整數的數值,用第 32 位表示整數的符號,0 表示正數,1 表示負數。數值範圍從 214748...

按十進位制位與運算

需求 所有包含5級裝備的獎勵,需要通關10234567後才能領取。遊戲的id規則如下 長度 8位十進位制數,如12345678 前2位表示id型別,比如10表示關卡id,11表示裝備id,12表示物品id 其中對於乙個裝備id 11234 5672表示品質 34表示部位 567表示等級 方法1 對程...

二進位制位運算子

二進位制位運算子用於直接對二進位制位進行計算,一共7個。i i 0 上面這行 的意思就是將i 不管是整數或小數 轉為32位整數。利用這一特性,可以寫乙個函式,將任意數值轉為32位整數。function toint32 x toint32 1.001 1 toint32 1.999 1 toint32...