1. 程式人生 > >15、枚舉類型和標誌位

15、枚舉類型和標誌位

就是 tps 十進制數 運算符 沒有 blog tails too 進行

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.....? 原文:https://blog.csdn.net/zhouqinghe24/article/details/8243679

對於(&,|),運算的對象是位,也就是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<<m為6*2^m(6 乘以 2的m次方),其原理是因為計算機內存是二進制,向左移一位,即乘以2,移動m位即相當於乘以m個2。如果想不通,可以拿十進制數想。
原文:https://blog.csdn.net/xumi13/article/details/62897708

15、枚舉類型和標誌位