目录
一、操作符的分类
⚪ 算术操作符:+,-,*,/,&
⚪ 移位操作符(二进制):<<,>>
⚪ 位操作符(二进制):&,|,^
⚪ 赋值操作符:=,+=,-=,*=,/=,%=,<<=,>>=,&=,|=,^=
⚪ 单目操作符:!,++,--,&,*,+,-,~,sizeof
⚪ 关系操作符:>,>=,<,<=,==,!=
⚪ 逻辑操作符:&&,||
⚪ 条件操作符:?:
⚪ 逗号表达式:,
⚪ 下标应用:[ ]
⚪ 函数调用:( )
⚪ 结构成员访问:. ,->
二、进制之间转换
其实我们说的2进制、8进制、10进制、16进制都是数值的不同表示形式。
二进制
⚪ 2进制中满2进1
⚪ 2进制的数字每一位都是0~1的数字组成
十进制
⚪ 10进制中满10进1
⚪ 10进制的数字每一位都是0~9的数字组成
① 2进制转10进制
例:10进制的123
10进制的每一位是有权重的,从右往左依次是个位、十位、百位...,对应权重分别是10^0,10^1,10^2...
例:2进制的1101
2进制和10进制是类似的,只不过2进制的每一位权重,从右往左是2^0,2^1,2^2...
因此,我们可以得知:要得到十进制的值时候,只需要用当前进制数字的每一位乘以它所对应的权重相加即可。
② 10进制转2进制
例:10进制的125
③ 2进制转8进制
例:2进制的01101011
④ 2进制转16进制
如果想要十进制转换为八进制或者十六进制,只需要将十进制先转化为二进制,再将二进制分别转换即可。
三、原码、反码、补码
整数的二进制表示方法有三种,即:原码、反码、补码。(小数无原反补概念)
有符号整数的三种表示方法均有符号位、数值位,2进制序列中,最高位的一位是被当做符号位,剩余的都是数值位。无符号整数只有数值位。
符号位都是用"0"表示正,用"1"表示负。
正整数的原、反、补码都相同。
负整数的三种表示方法各不相同。
原码:直接将数值按照正/负数的形式翻译成二进制得到的就是原码。
反码:符号位不变,其它位依次按位取反。
补码:反码 +1。
注:补码得到原码操作:取反,+1。
对于整型来说:数据存放在内存中其实存放的是补码。
为什么?
在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理(CPU只有加法器)此外,补码与原码相互转换,其运算过程