XP02第4天学习笔记#创作计划#
2025-08-06 10:16:08
发布于:浙江
今日主题:初赛知识
目录:
- 进制转换
- 前中后缀表达式转换计算
- 原反补码
- 位运算
- 排列组合
一. 进制转换
K进制:逢K进1,例:2进制,逢2进1
如果没有学过的可以抄一下:
K进制的位权:
位权:指一个数的某个位上的数字大小,比如10进制的个位一个代表1,十位一个代表10一样。
整数部分的位权:整数部分第n位的位权是kn-1(k的i-1次方)
小数部分的位权:小数部分第n位的位权是k0-n(k的0-n次方)
K进制转换成10进制:
位权转换法:通过位权算出每个位置上的10进制数字
例子:
二.前中后缀表达式的转换与计算
什么是前缀表达式:把操作符放在操作数前面(操作符就是运算符号,操作数是数字)
什么是中缀表达式:人写的
什么是后缀表达式:把运算符放在操作数中间
中缀 转 后缀:
例:2+3*5
- 先把所有的算式加上括号 (2+(3*5))
- 把所有的括号里的符号移到后面的括号的前面=(2(35*)+)
- 去括号=2 3 5 * +
例题:a+b*c+(d/e)=(a+((b*c)+(d/e)))=(a ((b c*)(d e/))+)=a b c * d e /
中缀 转 前缀:中缀转后缀的第二步换成移到前面的括号的后面,其他都一样
后缀 转 中缀:
例:2 3 5 * +
- 从左往右遍历,如果遇到操作符就把左边两个数字进行操作符运算并加上括号= (2+(3*5))
- 然后去掉没用的括号就好了=2+3*5
前缀 转 中缀:就是把后缀转中缀的第一步变成从右往左遍历,如果遇到操作符就把右边两数进行运算并加上括号
后缀表达式的计算:把后缀转中缀的第一步换成加上就可以了:
例:2 3 5 * + 遍历后先加上 3*5再由他们两个加
前缀表达式的计算:一样的
三.原反补码:
注意:计算机存储的所有数据都是由补码进行存储的
这里所有数字都讨论为8位二进制带符号位
符号位:这一串的第一个数字是符号位,0为正数,1为负数
正数的原反补码是一样的
负数的原反补码:
以数字-35为例
码 | 数字 | 意思 |
---|---|---|
原码 | 10011001 | 就是正常数字 |
反码 | 11100110 | 把原码除了符号位其他的翻转0->1,1->0 |
补码 | 11100111 | 反码+1,涉及进位的要注意一下 |
四.位运算:
位运算是通过数字的二进制的位进行运算
(1):按位与(&):
记忆口诀:同为 1 则为 1, 否则为 0
a | b | a&b |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
(2)按位或(|):
记忆口诀: 同为 0 则为 0, 否则为 1;有 1 则为 1, 否则为 0
a | b | a|b |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
(3)按位非(~):
记忆口诀:所有位都取反, 包括符号位
(4)按位异或(^):
记忆口诀:相反为1,相同为0
a | b | a~b |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
按位右移(>>):
记忆口诀:往右移
特殊公式:
按位左移(<<):
记忆口诀:往左移
特殊公式:
六.排列组合:
排列是有顺序的,从n个元素里找出m个数字进行排列排序:通常以下面的公式进行计算
组合是没有顺序的,从n个元素里找出m个元素进行组合:通常以下面的公式进行计算
这里空空如也
有帮助,赞一个