十进制数转二进制

x=eval(input())
s1=''
a=int(str(x).split('.')[0])
s2=''
b=x-int(str(x).split('.')[0])
while a//2!=0:    
    s1=str(a%2)+s1
    a//=2
s1=str(a)+s1
if type(x)==int:
    print(int(s1))
if type(x)==float:   
    while b-int(b)!=0:
        b*=2
        s2+=str(int(b))
        b=b-int(b)        
    s2+=str(int(b))   
    print(float('.'.join([s1,s2])))

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
十进制数转二进制的方法是将十进制数不断除以2,将每次的余数从下往上排列,直到商为0为止。最后将排列好的余数从上往下读取,得到的就是对应的二进制数。例如,将十进制数13转换为二进制数的过程如下:13 ÷ 2 = 6 余 1,6 ÷ 2 = 3 余 0,3 ÷ 2 = 1 余 1,1 ÷ 2 = 0 余 1。将这些余数从下往上排列,得到的二进制数为1101。\[1\] 十进制数转八进制的方法是将十进制数不断除以8,将每次的余数从下往上排列,直到商为0为止。最后将排列好的余数从上往下读取,得到的就是对应的八进制数。例如,将十进制数156转换为八进制数的过程如下:156 ÷ 8 = 19 余 4,19 ÷ 8 = 2 余 3,2 ÷ 8 = 0 余 2。将这些余数从下往上排列,得到的八进制数为234。\[2\] 十进制数转十六进制的方法是将十进制数不断除以16,将每次的余数从下往上排列,直到商为0为止。对于余数大于9的情况,可以用A、B、C、D、E、F来表示10、11、12、13、14、15。最后将排列好的余数从上往下读取,得到的就是对应的十六进制数。例如,将十进制数156转换为十六进制数的过程如下:156 ÷ 16 = 9 余 12(C),9 ÷ 16 = 0 余 9。将这些余数从下往上排列,得到的十六进制数为9C。\[1\] 因此,十进制数13转换为二进制数为1101,转换为八进制数为15,转换为十六进制数为D。十进制数156转换为二进制数为10011100,转换为八进制数为234,转换为十六进制数为9C。 #### 引用[.reference_title] - *1* *2* *3* [二进制、八进制、十进制、十六进制之间的转换](https://blog.csdn.net/qq_39353597/article/details/126417436)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值