[問題] x+=x&-x 是什麼意思?
看板C_and_CPP (C/C++)作者zxcv14011 (Bessiozs)時間8年前 (2018/04/28 11:00)推噓9(9推 0噓 12→)留言21則, 11人參與討論串1/3 (看更多)
最近看到程式碼
有人這樣寫
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]是一樣的嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.91.107
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1524884446.A.E1E.html
推
04/28 11:32,
8年前
, 1F
04/28 11:32, 1F
推
04/28 11:43,
8年前
, 2F
04/28 11:43, 2F
推
04/28 11:49,
8年前
, 3F
04/28 11:49, 3F
→
04/28 11:49,
8年前
, 4F
04/28 11:49, 4F
→
04/28 11:50,
8年前
, 5F
04/28 11:50, 5F
了解,以為1<<10 是指往左邊移動10個位置,謝謝您的解釋
→
04/28 11:57,
8年前
, 6F
04/28 11:57, 6F
推
04/28 12:17,
8年前
, 7F
04/28 12:17, 7F
→
04/28 12:18,
8年前
, 8F
04/28 12:18, 8F
→
04/28 12:18,
8年前
, 9F
04/28 12:18, 9F
※ 編輯: zxcv14011 (140.113.91.107), 04/28/2018 18:53:16
推
04/28 20:20,
8年前
, 10F
04/28 20:20, 10F
推
04/29 03:09,
8年前
, 11F
04/29 03:09, 11F
→
04/30 09:01,
8年前
, 12F
04/30 09:01, 12F
→
04/30 18:41,
8年前
, 13F
04/30 18:41, 13F
→
04/30 18:41,
8年前
, 14F
04/30 18:41, 14F
推
04/30 22:02,
8年前
, 15F
04/30 22:02, 15F
推
05/01 11:44,
8年前
, 16F
05/01 11:44, 16F
→
05/01 11:45,
8年前
, 17F
05/01 11:45, 17F
→
05/01 11:46,
8年前
, 18F
05/01 11:46, 18F
→
05/01 11:47,
8年前
, 19F
05/01 11:47, 19F
→
05/01 11:48,
8年前
, 20F
05/01 11:48, 20F
推
05/08 02:10,
7年前
, 21F
05/08 02:10, 21F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章