數(shù)據(jù)庫 按位運算符是怎么運算的?
按位運算符是怎么運算的?首先,二進制和運算規(guī)則:1& 1=1 1& 0=0 0 0& 0=0二進制或運算規(guī)則:1 | 1=1 1 | 0=1 0 | 0=0再次:二進制和十進制轉(zhuǎn)換:
按位運算符是怎么運算的?
首先,二進制和運算規(guī)則:1& 1=1 1& 0=0 0 0& 0=0二進制或運算規(guī)則:1 | 1=1 1 | 0=1 0 | 0=0再次:二進制和十進制轉(zhuǎn)換:不能超過2的n次方,所以我們必須用示例來解釋:1111 1111=128*1 64*1 32*1 16*1 8*1 4*1 2*1 1 1 1 10000=128*0 64*0 32*0 16*0 8*0 4*0 2*0 1*0 15=二進制:(0000 1111)127=二進制:(1111)按位and nature is(0000 1111)=15 128=二進制:(0001 0000 0000)127=二進制:(0000 1111 1111)(高位填充0)按位OR(0001 1111 1111)=255按位求和是從高到低逐位執(zhí)行“與”運算,因此從高到低,15& 127:15=二進制:(0000 1111)127=二進制:(1111 1111)0000 1111注:“and”運算規(guī)則:1& 1=1,1& 0=0,0& 0=0
首先,二進制和運算規(guī)則:1& 1=1,1& 0=0,0& 0=0,二進制或運算規(guī)則:1 | 1=1 1 | 0=1 0 | 0=0再次:二進制和十進制轉(zhuǎn)換:不能超過2的n次方,所以我們要用例子來解釋:1111111=128*164*132*116*18*14*12*112*0110000=128*064*032*016*08X4*012*015=Binary:(0000 1111)127=Binary:(1111111)自然是(0000 1111)=15128=Binary:(00010000)(0000)127=Binary:(0000 1111111)(高位用0)按位OR(0001 1111 1111)=255回答:二進制“和”運算規(guī)則:1& 1=1 1& 0=0 0& 0=0二進制“或”運算規(guī)則:1 | 1=1 1 1 | 0=1 0 | 0=0按位and“從高到低逐位執(zhí)行運算,因此從高到低,15& 127:15=二進制:(0000)1111)127=二進制:(1111,1111) . 例如,如果計算機是32位的,則下一步是計算~5的值,計算過程如下:5的二進制表達式是:1000000000000000101,執(zhí)行~operation,即在~5:111111111101010之后,即結(jié)果是-6。上面的過程沒有問題,但是如果你忘記了負(fù)數(shù)的二進制表達式,你會對這個結(jié)果產(chǎn)生懷疑,為什么111111111111111111101010代表-6,你可能會認(rèn)為它應(yīng)該代表-10等等。因此,使用~位取反的另一個關(guān)鍵是理解111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111。擴展數(shù)據(jù)JS~的整數(shù)是位取反運算,~是雙取反運算。這里~~用于刪除小數(shù)部分。由于按位運算的運算值要求為整數(shù),且結(jié)果也是整數(shù),因此按位運算后的所有數(shù)據(jù)都會自動變?yōu)檎麛?shù)。除了~~n,您還可以使用n<<0n>>0n | 0