初赛小点汇总(会不断更新)
不一定都会考到,但是这些是我做历年真题中不会的/做错的
欢迎评论,会补的
前缀表达式求值
1、先把所有数字从右到左压入一个栈
2、遇到哪个运算符就依次弹出栈顶两个元素进行求值,再将求出值压入栈
3、重复操作,得出答案
例子:
NOIP2010普及组第9题:
前缀表达式$+ 3 * 2 + 5$ $12$ 的值是( )
$A.23 B.25$
$C.37 D.65$
$12+5=17$
$17*2=34$
$34+3=37$
故选$C$
原码、补码、反码
如果原数大于$0$:
补码、反码都为原码不变
如果原数小于$0$:
反码为原码$ {\scr \color {red}{\text{除了符号位}}} $ 其他位取反的值
而补码=反码+1
那如果原数等于$0$呢?
$0$的反码有两个,但补码只有一个(分$+0$与$-0$)