Re: [問題] x+=x&-x 是什麼意思?
※ 引述《zxcv14011 (Bessiozs)》之銘言:
: 最近看到程式碼
: 有人這樣寫
: for(;x>=0; x+=x&-x)
: 但不太了解後面的 x+=x&-x是什麼意思
: 試著寫了
: for(;x>=0; x+=x&-x)
: {
: cout<<x<<endl;
: }
: 跑的結果都是從 x開始 然後變成2的指數
: 所以想問 x+=x&-x是要怎樣解讀?
: 另外想問一下
: int a[1<<10]
: 這樣跟 a[10000000000]是一樣的嗎?
x&-x 是取一個數字二進位最低非零位數 BIT會用到
1<<10是 2^10喔
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.120.188.205
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1528683854.A.806.html
→
06/11 10:27,
6年前
, 1F
06/11 10:27, 1F
→
06/11 11:17,
6年前
, 2F
06/11 11:17, 2F
推
06/20 12:12,
6年前
, 3F
06/20 12:12, 3F
→
06/20 12:12,
6年前
, 4F
06/20 12:12, 4F
→
06/20 12:13,
6年前
, 5F
06/20 12:13, 5F
→
06/20 12:14,
6年前
, 6F
06/20 12:14, 6F
→
06/20 12:14,
6年前
, 7F
06/20 12:14, 7F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):