用python的循环语句来表示十进制转换为二进制

Python016

用python的循环语句来表示十进制转换为二进制,第1张

def tonnum(x,n=2):  #转换进制,默认是2进制

    t=[]

    mystr="0123456789ABCDEFGHIJK"

    while x>0:

        t.append(mystr[x%n])

        x//=n

    t=list(reversed(t))

    return ''.join(t)

def main():

    x=1023

    print(tonnum(x))

main()

给个10进制转2进制的。。你可以在根据2进制转为8进制和16进制。4位2进制是1位16进制,3位2进制是1位8进制#include<iostream.h>int a[100]//记录2进制数据 int Icount//记录2进制整数个数 int Dcount//记录2进制小数个数void ITen_Two(int ten)//整数转换 { int i=0 while(ten>1) { a[i]=ten%2 ten=ten/2//不用管奇偶 i++ Icount++ } if(ten<=1) { a[i]=1 Icount++ } }void DTen_Two(float d)//小数转换 { int i=Icount Dcount=0 a[i]=0 while(d!=0 &&i<100) { d=d*2 if(d>=1) {a[i]=1 d=d-1 } elsea[i]=0 i++ Dcount++ } }void Out() { cout<<"2进制数为:" for(int i=Icount-1i>=0i--) cout<<a[i] cout<<"." for(int j=Icountj<Icount+Dcountj++) cout<<a[j] cout<<endl}void main() { float x int B=1//结束标志 while(B==1) { int I//整数部分 float D//小数部分 Icount=0 Dcount=0 cout<<"请输入一个10进制浮点数:" cin>>x I=(int)x D=x-I if(I>0 &&D>0) {ITen_Two(I) DTen_Two(D) } else if(I==0 &&D>0)DTen_Two(D) else if(I>0 &&D==0)ITen_Two(I) elsecout<<"0" if(I>0 || D>0)Out(

#!/usr/bin/python

# -*- coding:utf-8 -*-

# @Time    : 2018/6/19 10:20

# @Author  : 

# @File    : Dec_To_Bin.py

"""

十进制转二进制

"""

# 定义一个十进制转二进制的函数

def dec2bin(string_num):

    num = int(string_num) # 将传入的字符串数字转换成整型

    mid = [] # 定义一个空列表

    while True: # 循环,条件为真时执行

        if num == 0: # 当输入值是0时,直接跳出循环

            break

        num, rem = divmod(num, 2) # 调用函数divmod,得到商num,和余数rem

        mid.append(rem) # 将余数存入列表

    return ''.join([str(x) for x in mid[::-1]]) # 返回结果,列表取反后拼接成字符串

if __name__ == '__main__':

    anum = raw_input(u'请输入要转换的数字:')

    print u'该数字转换为二进制后是:{}'.format(dec2bin(anum))