15 列舉型別和標誌位

2022-02-21 02:37:41 字數 1172 閱讀 5712

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.列...