二进制类型
进制可分为以下类型:
1.1进制字符b显示
1.2进制字符o显示
1.3十进制字符d显示
14.4十六机制字母h表示
二进制:所有二进制都是1,数字只有0 1
与十进制的换算关系如下。
十进制到二进制(整数)的转换
(最后一个可以直接写)
2.10进制转换为二进制
(如果是负数的话,只要在前面加负号就可以了。)
1.3进制数转十进制整数
1.4进制到十进制小数转换
八进制(0、1、2、3、4、5、6和7 ) )。
十六进制数(0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f ) ) ) ) ) ) ) ) ) )。
在八进制和十六进制之间转换为十进制是一样的。
具体可以看到以下python代码
“”二进制转换学习的练习代码相关代码和其他注释教程可在https://blog.csdn.net/FUTEROX上找到“”
"“做很多车轮学习”。
defint_to_b(input_ ) :
'''''对十进制数进行数学运算处理的整数部分'''''
flag=True
x=[]
qu_mo=input_
qu_yu=input_
while flag:
qu_yu=qu_mo%2
x .应用程序(qu _ Yu ) )。
qu_mo=qu_mo//2
if qu_mo==1:
x.append(qu_mo ) )。
flag=False
number_int=' '
for i in x[:-1]:
number_int=number_intstr(I ) )。
return number_int
#这里返回的是整数部分的二进制数
#print(number_int ) )是
deffloat_to_b(f,jindu=4) :
“”默认精度为4“”
B=[]#存储整数部分
福里inrange (jindu ) :
f=f*2
b_ZhengShu=int(f ) ) ) )。
b.append(b_ZhengShu ) )。
if b _郑政树!=0:
f=f-b _正树
float_n=' '
for i in B:
float_n=float_nstr(I )
返回浮动_ n
if __name__=='__main__':
print (欢迎使用二进制转换工具)
print (如果要退出,请按q ()必须大写) )
flag=True
while flag:
input_=str(input ) '请输入十进制数字;' ) )
if input_=='Q':
#为了防止用户误操作,必须以大写字母q结束
print ('感谢您的使用!' )
flag=False
“”确定输入的数字是整数还是小数
用小数分割她,就会因为英语水平的问题
变量名经常用汉语拼音命名'''
if '.' in input_:
nub=[]
for i in input_:
是nub.append(I )
if nub[0]!='0':
way_point=nub.index ('.' )
int_=nub[0:way_point]
int_un=' '
for i in int_:
int_un=int_unstr(I ) )。
#print(int_un ) )。
int_input=int(int_un )
int_part=int_to_B(int_input )
float_=nub[way_point:]
float_part=' '
for i in float_:
float_part=float_part str(i )
float_part='0' float_part
float_part=float(float_part
float _ part=float _ to _ b (float _ part )
#字符串开始合并,对两个函数进行运算,结果生成字符串类型
last _ number=int _ part '.' float _ part
last_number=float(last_number )
print(last_number ) )是
elif nub[0]=='0':
编号=float _ to _ b (float (input _ ) )
number='0.' number
number=float(number ) )
是打印(number )
elif '.' not in input_ and input_!='Q':
input_=int(input_ ) )。
reason=int(int_to_b ) input_ ) )
打印(reason )
可以看到,上面的算法将十进制转换为二进制,但实际上只是将% 2和//2转换为%8、//8等。
不同进制之间的转换
1.1二进制八进制
首先,请看下图的对应表
示例:将二进制的(11010111.0100111 ) b转换为八进制的步骤如下:
小数点第一111=7;
010=2;
11增补为011,011=3;
小数点以下010=2;
011=3;
1增补为100,100=4;
当然,也可以从二进制改为十进制,再改为八进制。
1.2进制2进制
方法:取1分3法。 即,将1位的8进制数分解为3位的2进制数,用加权相加3位的2进制数,收集其8进制数。 小数点位置保持不变。
示例(八进制的) 327 )将o转换为二进制的步骤如下。
3=011;
2=010;
7=111;
读取值、读取值从上位到下位为0011010111,即(327 ) o=) 11010111 ) b
1.3进制16进制
如何:将八进制转换为二进制,然后将二进制转换为十六进制。 小数点位置不变。
示例(八进制的) 327 )将o转换为十六进制的步骤如下。
3=011;
2=010;
7=111;
0111=7;
1101=D;
读取值、读取值从上位到下位为D7、即(327 ) o=(D7 ) h .
etc…
二进制加减(补充) ) ) )。
原文链接:https://blog.csdn.net/fute rox/article/details/108806152