第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

我想知道的是應(yīng)該怎么算,就是提前可以知道這個(gè)運(yùn)算的結(jié)果?

我想知道的是應(yīng)該怎么算,就是提前可以知道這個(gè)運(yùn)算的結(jié)果?

PHP
素胚勾勒不出你 2023-04-26 19:15:12
關(guān)于php的位運(yùn)算 手冊(cè)中 是這樣介紹的例子 名稱 結(jié)果$a & $b And(按位與) 將把 $a 和 $b 中都為 1 的位設(shè)為 1。$a | $b Or(按位或) 將把 $a 或者 $b 中為 1 的位設(shè)為 1。$a ^ $b Xor(按位異或) 將把 $a 和 $b 中不同的位設(shè)為 1。~ $a Not(按位非) 將 $a 中為 0 的位設(shè)為 1,反之亦然。$a << $b Shift left(左移) 將 $a 中的位向左移動(dòng) $b 次(每一次移動(dòng)都表示“乘以 2”)。$a >> $b Shift right(右移) 將 $a 中的位向右移動(dòng) $b 次(每一次移動(dòng)都表示“除以 2”)。比如說12 & 13134 | 23498 ^ 7等等 這些
查看完整描述

1 回答

?
蕭十郎

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊

如果我沒理解錯(cuò)的話 ... 你要問的是如何手動(dòng)進(jìn)行位運(yùn)算對(duì)吧 ...

位運(yùn)算是二進(jìn)制的運(yùn)算方式 ... 你想做十進(jìn)制數(shù)字的位運(yùn)算操作的話先要將它們轉(zhuǎn)成二進(jìn)制 ...

如何手動(dòng)轉(zhuǎn)化進(jìn)制我就不贅述了 ... 你可以自己去看 ... 主要說位運(yùn)算 ...

假如我們有兩個(gè)數(shù)字 123 和 321 ... 轉(zhuǎn)化成二進(jìn)制之后是 001111011 和 101000001 ...

我們從字面意思上理解 ... 按位與 ... 就是按照每一位做 與 這個(gè)操作 ... 如下 ...

   001111011 & 101000001
-------------   001000001  = 65

也就是說 123 & 321 = 65 ... 按位或 和 按位異或 皆同此理 ... 很簡(jiǎn)單我就不寫了 ...

按位非 ... 單純的為當(dāng)前數(shù)字取反 ... 比如我們手動(dòng)計(jì)算 ~123 的過程如下 ...

 ~ 000 ... 001111011
---------------------   111 ... 110000100  = 看上去很大的數(shù)字

我想這個(gè)問題你也注意到了 ... 把一個(gè)數(shù)字 按位非 之后 ... 前面會(huì)產(chǎn)生很多很多的 1 ...

會(huì)導(dǎo)致這個(gè)數(shù)字看上去非常大 ... 大到難以計(jì)算 ...

但事實(shí)上不是 ... 我們的操作系統(tǒng)無法存儲(chǔ)無限大的整數(shù) ...

事實(shí)上它只能存儲(chǔ)從 0 開始到 2 的 n 次方的所有數(shù)字 ... n 可以很大但不是無限大 ...

但這產(chǎn)生了一個(gè)新的問題 ... 就是操作系統(tǒng)不認(rèn)識(shí)負(fù)數(shù) ... 而負(fù)數(shù)又很常見 ...

所以人們又約定 ... 當(dāng)一個(gè)二進(jìn)制數(shù)字長(zhǎng)度是 n 且最高位是 1 的時(shí)候 ... 就表示這是一個(gè)負(fù)數(shù) ...

也就是操作系統(tǒng)接受了負(fù)的 2 的 n - 1 次方到 2 的 n 次方 - 1 這個(gè)范圍內(nèi)的整數(shù) ... 很完美 ...

回到問題上來 ... 那么看起來很大的這個(gè)數(shù)字其實(shí)是個(gè)負(fù)數(shù) ... 負(fù)多少呢 ..?

算法是這樣 ... 去掉最高位之后做按位非操作 ... 然后加上負(fù)號(hào)再減一 ...

也就是 ~123 = -(~(~123))-1 = -124 ... 原理很復(fù)雜但表現(xiàn)起來超簡(jiǎn)單 ...

接下來 左移 和 右移 ... 一樣是字面的意思 ... 比如 123 << 2 ...

     001111011   << 2
---------------   00111101100  = 492

左移的時(shí)候空出來的位補(bǔ)零 ... 右移的時(shí)候多出去的位直接丟棄 ...

也就是說所有數(shù)字如果不停左移或者右移的話 ... 最后結(jié)果一定是 0 ...

寫到這兒突然感覺好像是在跟小朋友講基礎(chǔ)知識(shí)一樣 ... 嘛 ... 總之就是這樣啦 ...


查看完整回答
反對(duì) 回復(fù) 2023-04-29
  • 1 回答
  • 0 關(guān)注
  • 132 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)