软件测试之进制转换
一、进制转换
1、数制的概念
数制也称计数制,是用一组固定的符号和统一的规则来表示数值的方法。
2、常见的进制
十进制:是以10为基数的计数体制简称十进制系统
特点:1、系数:0,1,2,3,4,5,6,7,8,9
2、规律:逢十进一, 9+1=10
3、权:基数的幂,即10的幂
分析:十进制数 X 转 M 进制,方法是:从 X 开始循环除以 M ,记下余数,整数商作为新的 X 继续除以 M ,直到 X=0 为止。然后倒序取余数即可。

二进制:是用0和1两个数码来表示的数
特点:1、基数为2
2、规律:逢二进一,借位规则是借一当二
3、权:基数的幂,即2的幂
分析:N进制转10进制的方法

十六进制:以16为基数的计数体制简称十六进制
特点:1、系数:0,1,2,3,4,5,6,7,8,9和A,B,C,D,F
2、规律:逢十六进一
八进制:以8为基数的计数体制简称八进制
特点:1、系统:0,1,2,3,4,5,6,7
2、规律:逢八进一
2、十进制转换任意进制
# coding:utf-8
import sys
def main():
decimal = eval(input("请输入十进制转换二进制数: "))
base = eval(input("请输入基础: "))
decimalToNBaseByNormal(decimal, base)
decToNBaseByRecursion(decimal, base)
def decimalToNBaseByNormal(decimalVar, base):
tempList = []
temp = decimalVar
i = 0
while (temp > 0):
ord = temp % base
if (ord > 9):
ord = chr(65 + (ord - 10))
tempList.append(ord)
temp = int(temp / base)
i = i + 1
tempList.reverse();
#print(tempList)
binary = ""
for j in range(len(tempList)):
binary = binary + str(tempList[j]);
print("十进制数是: %d 转换的进制数是: %d 结果是: %s"%(decimalVar, base, binary))
def decToNBaseByRecursion(dec, base):
if (dec == 0):
return
decToNBaseByRecursion(int(dec/base), base)
ord = dec % base
if (ord > 9):
ord = chr(65 + (ord - 10))
sys.stdout.write(str(ord))
if __name__ == '__main__':
main()

浙公网安备 33010602011771号