【大一上】C++小知识点

二进制码

原码:用最高位表示数的符号,0表示正数,1表示负数

原码表示0由两种形式 +0=00000 -0=10000;

反码:正数反码与原码相同,负数反码符号位相同其他位取反

补码:正数相同,负数反码末尾加1 表示范围:-128-127(若字长为8)

补码表示0是唯一的,0=00000

负数的补码还原成原码为 除符号位按位取反,然后最低位加一

特别地八位补码比原码多表示一个-128=10000000

BCD码

bcd码是没有进制意义的,实际上以四位二进制码代表一个十进制数,然而十六进制正好是四位,所以十进制xxxx=十六进制xxxxH.

switch语句

int main()
{
	int r;
	cin >> r;
	switch (r)
	{
	case 1: cout << 1 << endl;
	case 2: cout << 2 << endl;
	case 3:cout << 3 << endl;
	default:cout << 4 << endl;
	}
switch的证明
}

如果不加break;会根据初始分支一个个的输出

后置自增运算符
 

int main()
{
	int b = 0;
	if (b++ && 1)
		cout << 1 << endl;//先逻辑与再自增
	if (b++ > 0)
		cout << 1 << endl;//先比较再自增 	
}

无论对于逻辑与或  逻辑比较  输出,后置自增都是提取地址里的原内容直接进行操作

然后再是进行自增赋值

原理是因为自增操作的时候会自动创建一个副本空间,先将自增的结果保存到这个空间,当执行完地址原内容的操作后,再将这个值赋予给地址。

Guess you like

Origin blog.csdn.net/nathanqian123/article/details/121183046