c 位運算和sizeof

2021-09-25 20:33:36 字數 738 閱讀 3483

位運算子 & | ~

&:都是1的時候為1

|:至少有乙個為1的時候為1

^:求反,有且只有乙個1的時候為1

《左移  >>右移

unsigned int num1(2);

unsigned int num2(num1 << 1);

cout > 1);

cout << num3 << endl;//1

sizeof:返回一條表示式或乙個型別名字所佔的位元組數,型別為size_t

size_t sz(sizeof("asdwerwr"));

size_t sz1(sizeof(num1));

cout << sz << endl;

cout << sz1 << endl;

vectorvec(20,7);

size_t sz2(sizeof(vec));//vector和string只返回該型別的大小 與存放的值的多少無關

cout << sz2 << endl;

int arr[10];

size_t sz3(sizeof(arr));//為40。運算元組的會返回總共的大小

cout << sz3 << endl;

const double ch(3.1415);

const double *p = &ch;//不管什麼型別的指標都為4

size_t sz4(sizeof(p));

cout << sz4 << endl;

(24)位運算子 sizeof運算子

位運算子作用於整數型別,並把運算物件看成是二進位制的集合。位運算子提供檢查和設定二進位制位的功能,滿足左結合律。但是位運算關於符號位如何處理沒有明確的規定,改變符號位的值是一種未定義的行為,所以建議僅將位運算子作用於無符號 型。左移運算子 右移運算子 的行為則依賴於其左側運算物件物件的型別 如果該運...

C 位運算之 左移運算和右移運算

在c中,位運算包含兩種移位運算 左移運算 右移運算 左右位移運算,在數值為無符號和有符號情況下具有不同行為。有符號左右位移運算 include include include signed int左移 void si left shift signed int si,int n signed int...

C和彙編 sizeof運算子和strlen函式

sizeof sizeof是c語言的內建運算子,以位元組為單位給出指定型別的大小。程式 include 反彙編 5 int a 8 00401028 c7 45 fc 08 0000 00 mov dword ptr ebp 4 86 int b sizeof a 0040102f c7 45 f8...