亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

js中的與運算是怎么算的,為什么1000&1100的結果是72而不是1000

js中的與運算是怎么算的,為什么1000&1100的結果是72而不是1000

白豬掌柜的 2018-08-10 15:10:03
js中的與運算是怎么用的,我console.log(110& 111)結果就是110,是對的,但是console.log(1000&1100)結果就是72,為什么不是1000,就是換算成十進制,這個72也是不對的,不知道是怎么回事?console.log(110& 111);輸出110console.log(1000&1100);輸出72哪位大神給解答下?
查看完整描述

1 回答

?
青春有我

TA貢獻1784條經驗 獲得超8個贊

跟js沒關系 這是位運算 基于2進制 大學學C必然講這個

簡單說

110 = 1*64 + 1*32 + 0*16 + 1*8 + 1*4 + 1*2 + 0*1 = 1101110(2)

111 = 1*64 + 1*32 + 0*16 + 1*8 + 1*4 + 1*2 + 1*1 = 1101111(2)

110 & 111 = 1101110(2) & 1101111(2) = 1101110(2) = 110


1000 = 1*512 + 1*256 + 1*128 + 1*64 + 1*32 + 1*16 + 1*8 + 0*4 + 0*2 + 0*1

     = 1111111000(2)

1100 = 1*1024 + 0*512 + 0*256 + 0*128 + 1*64 + 0*32 + 0*16 + 1*8 + 1*4 + 0*2 + 0*1

     = 10001001100(2)

1000 & 1100 = 1111111000(2) & 10001001100(2) = 1001000(2) = 1*64 + 1*8 = 72

&表示按位與,計算方式為先轉換為2進制,然后每一個對應位置的同時為1得1,其他情況為0,得到2進制,再轉為10進制。
電腦里儲存數字用的是2進制,按位與是cpu最最最簡單的操作之一,性能快。


查看完整回答
反對 回復 2018-09-23
  • 1 回答
  • 0 關注
  • 607 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號