Re: [問題] 請問算式的&~代表啥?
※ 引述《RichieRich.bbs@ptt.cc (Richie)》之銘言:
> int wWidth =10;
> DWORD dwInLn = wWidth & ~3;
> dwInLn 為8請問為何呢?
先做 not 再做 and 的意思,
都是 bitwise 運算,
32-bit 系統來說,
3 是 00000000000000000000000000000011
~3 就是 11111111111111111111111111111100
10 是 00000000000000000000000000001001
做完 AND 就是 00000000000000000000000000001000
所以是 8。
久了變成直觀的話,
就直接讀成「reset 二進位的 3 裡是 1 的那幾個 bit」,
大概就是這樣。
--
Ling-hua Tseng (uranus@it.muds.net)
Department of Computer Science, National Tsing-Hua University
Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design
Researching: Software pipelining for VLIW architectures
Homepage: https://it.muds.net/~uranus
--
╔═══╗ ┼────────────────────────╮
║狂狷 ║ │* Origin:[ 狂 狷 年 少 ] whshs.cs.nccu.edu.tw ╰─╮
║ 年少║ ┼╮ < IP:140.119.164.252 > ╰─╮
╚╦═╦╝ ╰ * From:61-230-227-90.dynamic.hinet.net
─╨─╨─ KGBBS ─ ◎ 遨翔"BBS"的狂狷不馴;屬於年少的輕狂色彩 ◎
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):
0
2
Programming 近期熱門文章
PTT數位生活區 即時熱門文章