二进制码
原码:用最高位表示数的符号,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;//先比较再自增
}
无论对于逻辑与或 逻辑比较 输出,后置自增都是提取地址里的原内容直接进行操作
然后再是进行自增赋值
原理是因为自增操作的时候会自动创建一个副本空间,先将自增的结果保存到这个空间,当执行完地址原内容的操作后,再将这个值赋予给地址。