g常規 d十進位制 x十六進製制
mycontrol.style =?styles.showborder |?styles.showcaption;??
這時mycontrol.style列舉的值將變成 1+2=3,它的tostring()將變成"styles.showborder , styles.showcaption"?
這裡我們可以解釋為什麼第三個值showtoolbox可以為4,5..而不能為3。也就是說它的值不應該是前幾項值的復合值。有乙個比較簡單的方法就是用2的n次方來依次為每一項賦值,例如 1,2,4,8,16,32,64.....? 原文:
對於(&,|),運算的物件是位,也就是1/0,叫做位運算子
理解:0為false,1為true(通用:0表示假,所有非零的數表示真。 ######方便記憶:0,什麼都沒有騙人的,則為假)
運算結果只有下列四種情況。
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0
&&和&對於他們各自的運算物件來說,結果是一樣的。
enum.tostring("f") //轉換為標誌字串 比如query
整數在計算機中用二進位制的位來表示,c語言提供一些運算子可以直接操作整數中的位,稱為位運算,這些運算子的運算元都必須是整型的。
& 按位與, | 按位或 , ^ 按位異或
and (位與&) or ( 位或| ) xor ( 位異或^ )
1 & 1 = 1, 1 | 1 = 1, 1 ^ 1 = 0
1 & 0 = 0, 1 | 0 = 1, 1 ^ 0 = 1
0 & 1 = 0, 0 | 1 = 1, 0 ^ 1 = 1
0 & 0 = 0, 0 | 0 = 0, 0 ^ 0 = 0
1、位運算
直接對整數在記憶體中的二進位制位進行操作。程式中的所有數在計算機記憶體中都是以二進位制的形式儲存的。例如,2為10, 11為1011,位操作就相當於將對應的二進位制數向左移動n位,即在二進位制數的右邊補0,例如(6<<2)為6二進位制為110,向左移動2位11000,6<<2 = 24。
2、位運算的運算方式
如上所述,6<<2的計算方式可以為,6*2^2 = 24, 6<原文:
CLR via C 15 列舉型別和位標誌
原文 clr via c 15.列舉型別和位標誌 一 列舉型別 列舉型別 enumerated types 定義了一組 符號名稱 值 配對。例如,以下color型別定義了一組符號,每個符號都標識一種顏色 internal enum color 使用列舉型別的好處 1 列舉型別使程式更容易編寫 閱讀和...
掌握JDK1 5列舉型別
enum作為sun全新引進的乙個關鍵字,看起來很象是特殊的class,它也可以有自己的變數,可以定義自己的方法,可以實現乙個或者多個介面。當我們在宣告乙個enum型別時,我們應該注意到enum型別有如下的一些特徵。1 它不能有public的建構函式,這樣做可以保證客戶 沒有辦法新建乙個enum的例項...
9 4 列舉型別
乙個變數只有幾種可能的取值,可以一一枚舉出來,變數的取值僅限於列舉的值的有限範圍內,而不適宜用整型 實型 字元型直接表示,c語言提供了這種列舉資料型別。例如,一年的四季有春夏秋冬 乙個星期有星期日 星期一到星期六等。定義列舉型別的一般形式為 enum 列舉型別名 如 enum weekday 1.列...