鍍金池/ 問(wèn)答/HTML/ 這種JS寫法是什么寫法?

這種JS寫法是什么寫法?

之前在一個(gè)外包項(xiàng)目里見過(guò),但我不知道是什么寫法,有點(diǎn)好奇。
就是里面的>>> , ^ ,0xff是什么意思?
JS寫法

回答
編輯回答
疚幼
'>>>'是js的位移運(yùn)算符(無(wú)符號(hào)):
例1:
10>>>1
10的二進(jìn)制代碼為 1010
向右移動(dòng)一位后為 0101
即 5
'^'是js里位運(yùn)算異或 XOR

處理如下:
(1)真^假=真
(2)假^真=真
(3)假^假=假
(4)真^真=假

例2: 
1的二進(jìn)制表達(dá)0001 
3的二進(jìn)制表達(dá)0011 
xor運(yùn)算后0010即十進(jìn)制2
'0xFF'是計(jì)算機(jī)十六進(jìn)制的表示
2017年7月22日 12:58
編輯回答
司令

^是位運(yùn)算符異或,這個(gè)是CRC32驗(yàn)證碼的計(jì)算,確實(shí)需要位運(yùn)算啊。
其真值表是:

A  ^   B    OUT
1      0     1
0      1     1
0      0     0
1      1     0

注意是按位的,只有對(duì)應(yīng)位符合上述真值表,就設(shè)置對(duì)應(yīng)位的。
比如對(duì)于A=0XF即二進(jìn)制數(shù) (1111) ,B=0XA即二進(jìn)制數(shù)(1010)
C=A ^ B,則C=0x5 即二進(jìn)制數(shù) (0101)

>>> 是無(wú)符號(hào)右移位運(yùn)算,會(huì)把符號(hào)位一起移動(dòng),高位補(bǔ)0

2018年5月10日 17:08
編輯回答
枕邊人

^ 運(yùn)算符隨后查看兩個(gè)表達(dá)式的二進(jìn)制表示形式的值,并執(zhí)行按位“異或”運(yùn)算。當(dāng)且僅當(dāng)只有一個(gè)表達(dá)式的某位為 1 時(shí),結(jié)果中的該位才為 1。否則,結(jié)果中的該位為 0。

var result = expression1 ^ expression2;
    1001   = 0101          1100

‘>>>’ 無(wú)符號(hào)右移,忽略符號(hào)位,空位都以0補(bǔ)齊
& 對(duì)兩個(gè) 32 位表達(dá)式的每一個(gè)位執(zhí)行按位“與”運(yùn)算。 如果兩個(gè)位均為 1,則結(jié)果是 1。 否則,結(jié)果為 0。

2018年6月23日 06:48
編輯回答
空痕

位操作符,一看你就沒看過(guò)高程3。。。

2017年5月1日 08:23
編輯回答
安淺陌

位運(yùn)算符,位運(yùn)算符是在數(shù)字底層(即表示數(shù)字的 32 個(gè)數(shù)位)進(jìn)行操作的。

2018年4月28日 21:42
編輯回答
嘟尛嘴

樓主的vscode主題可否告訴一下我呢,找不到配色這么好的淺色主題。謝謝

2018年1月7日 20:36