看板 C_and_CPP 關於我們 聯絡資訊
請問C裡面 |= 和&= 是什麼意思? 第一次看到這樣寫法 EX:if (!(flags & MS_RDONLY)) 865 mode |= FMODE_WRITE; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.33.231.82
SDNiceBoat:跟 += 一樣嗎? 第一次看到..... 08/16 22:24
ducksteven:二進位 OR AND 08/16 22:25
hilorrk:差不多的東西 bitwise的比較常用在較低階的控制上 08/16 22:25
LPH66:是的 flag &= SOMEFLAG; 等同 flag = flag & SOMEFLAG; 08/16 22:26
holik0123:可以解釋一下他這樣用的意思嗎? 08/16 22:26
loveme00835:我還以為原po跟3樓是同一個@_@ 08/16 22:28
james732:知道 & 這個運算的意義嗎? 08/16 22:30
holik0123:4樓的我懂 可是這個例子|= 08/16 22:31
Ianlm:應該只是讓某些bit被set,然後1個bit表示一種意思 08/16 22:32
hilorrk:長的跟我真的有點像XD 一樣拆成四樓 通常指設置某些flag 08/16 22:32
holik0123:喔喔我懂了那是行數眼殘 08/16 22:32
Ianlm:我是說『|=』 08/16 22:33
james732:剛剛一直在想那個 865 是什麼東西....XDDDD 08/16 22:33
lvlightvivi:865是行數嗎@_@? 看不出來是甚麼.. 08/17 00:06
xatier:if(ch >= 'A' && ch <= 'Z') { ch |= 0x20; } 08/17 07:24
xatier:想到這個XD 08/17 07:24
xatier:'A' = 65 (64 + 1) 'a' = 97(64 + 32 + 1) =.= 08/17 07:25
xatier:同理,小轉大 if(ch >= 'a' && ch <= 'z') {ch ^= 0x20; } 08/17 07:26
loveme00835:感覺還是 isalpha、tolower、toupper 比較直覺 08/17 08:45
xatier:其實我都直接ch - 'A' + 'a' 超直覺的XD 08/17 12:20
xatier:__CRT_INLINE int __cdecl _tolower(int c) { 08/17 12:21
xatier:return ( c -'A'+'a'); } //Dev C裡的也是這樣做 08/17 12:21
wowtiger:不過現在應該都是 mapping 居多吧 很少在 > 'A' < 吧 08/18 01:17