c++位运算和sizeof

it2024-12-06  19

位运算符 & | ~

 &:都是1的时候为1

 |:至少有一个为1的时候为1

 ^:求反,有且只有一个1的时候为1

 

<<左移  >>右移

unsigned int num1(2);

unsigned int num2(num1 << 1);

cout <<num2<< endl;//4

unsigned int num3(num1 >> 1);

cout << num3 << endl;//1

 

 

sizeof:返回一条表达式或一个类型名字所占的字节数,类型为size_t

size_t sz(sizeof("asdwerwr"));

size_t sz1(sizeof(num1));

cout << sz << endl;

cout << sz1 << endl;

 

vector<int> vec(20,7);

size_t sz2(sizeof(vec));//vector和string只返回该类型的大小 与存放的值的多少无关

cout << sz2 << endl;

 

int arr[10]{ 0 };

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;

最新回复(0)