数制转换
不同数制表达
数制转换的方法
换基法(换向十进制)
定义:给出数制转换的定量方法,对于任意一个基数N进制下的数字X转换为十进制的方法。
原进制为N进制,转换为十进制:
X
=
X
n
X
m
−
1
X
m
−
2
.
.
.
X
2
X
1
X=X_nX_{m-1}X_{m-2}...X_2X_1
X=XnXm−1Xm−2...X2X1
X = X ⋅ N m + X ⋅ N m − 1 + X ⋅ N m − 2 . . . + X ⋅ N 2 + X ⋅ N 1 X=X\cdot N^m+X\cdot N^{m-1}+X\cdot N^{m-2}...+X\cdot N^2+X\cdot N^1 X=X⋅Nm+X⋅Nm−1+X⋅Nm−2...+X⋅N2+X⋅N1
例如:例如十进制下的2022
X
=
X
4
X
3
X
2
X
1
=
2022
X=X_4X_3X_2X_1=2022
X=X4X3X2X1=2022
2022 = 2 ⋅ 1 0 3 + 0 ⋅ 1 0 2 + 2 ⋅ 1 0 1 + 2 ⋅ 1 0 0 2022=2\cdot10^3+0\cdot10^2+2\cdot10^1+2\cdot10^0 2022=2⋅103+0⋅102+2⋅101+2⋅100
除余法(十进制向其他进制转换)
定义:转向的目标进制为N进制,则以N为除数不断地做除法将最后的商和之前的余数逆序串联在一起,就是最终的结果。
例如:十进制19转二进制
按位拆分法和按位合并法
定义:对于八进制和二进制之间的转换,可以利用十进制做跳板将八进制转为二进制。
判断一个整数a,是否是2的整数次幂
思路:判断出一个数的二进制有一个‘1’和若干个‘0’即可。
a = bin(eval(input()))
b = str(a)
total = 0
for i in range(2, len(b)):
total += int(b[i])
if total == 1:
print("Yes")
else:
print("No")
MECE原则学习
MECE(发音:me see)分析法是 Mutually Exclusive Collectively Exhaustive的首字母缩写词,中文意思是"相互独立、完全穷尽",即所谓的 “无重复、无遗漏”。
关于MECE原则的学习肯定是漫长的,光凭书写一篇博客是不现实的,下面主要介绍练习MECE原则的方法。
归根结底,它是一个方法论。我们需要的是不断地练习和实践。
- 书籍:例如,《金字塔原理》和《麦肯锡方法》的仔细阅读。
- 编程:多做一些模拟算法题目。
- 阅读案例:阅读一些通过MECE原则分析的案例。