002Python和JS的不同进制之间的转换实现

一、python

#!/usr/bin/python
# -*- coding: UTF-8 -*-

"""
使用int()函数, 第一个参数是字符串 '0Xf', 第二个参数是说明, 这个字符串是几进制的数. 转化的结果是一个十进制数.
其实可以看到, 不管 几进制数 转换成 十进制数, 都是用 int()函数. 之后后面的 第二个参数 写清楚 前面字符串 是 几进制数就可以.
注意一定要合法, 比如2进制数就不能出现2这样的字符.
"""
print("*"*25 + "各个进制和十进制的互转" +"*"*25)
print("十六进制 到 十进制")
print(int('0xf',base=16))
# 15
print("二进制 到 十进制")
print(int('10100111110',2))
# 1342
print("八进制 到 十进制")
print(int('17',8))
# 15

print("-"*25 + "各个进制和十六进制的互转" +"-"*25)
print("十进制 转 十六进制")
print(hex(1033))
# 0x409
# 就是 二进制先转成 十进制, 再转成 十六进制
print("二进制 转 十六进制")
print(hex(int('101010',2)))
# 0x2a
# 就是 八进制先转成 十进制, 再转成 十六进制
print("八进制到 十六进制")
print(hex(int('17',8)))
# 0xf

print("*"*25 + "各个进制和二进制的互转" +"*"*25)
print("十进制转二进制")
print(bin(10))
# 0b1010
print("十六进制转 二进制")
# 十六进制->十进制->二进制
print(bin(int('ff',16)))
# 0b11111111
print("八进制 到 二进制")
# 八进制先到十进制, 再到二进制
print(bin(int('17',8)))
# 0b1111
print("-"*15 + "总结: 各进制转到十六进制和二进制需要借助十进制为Proxy" +"-"*15)

print("二进制 到 八进制")
print(oct(0b1010))
# 0o12
print("十进制到八进制")
print(oct(11))
# 0o13
print("十六进制到八进制")
print(oct(0xf))
# 0o17

二、JavaScript

<script>
    //输出自动转换成十进制数
    var a = 0b10; //二进制0b开头
    document.write(a); //2
    document.write("<br>");
    /* In [1]: int('0b10',2)
    Out[1]: 2
    */
    var b = 070; //八进制0开头
    document.write(b); //56
    document.write("<br>");
    /* In [3]: int('070',8)
    Out[3]: 56 */
    var c = 0x36; //十六进制0x开头
    document.write(c); //54
    document.write("<br>");
    /* In [4]: int('0x36',16)
    Out[4]: 54 */
    document.write("-----Other example------<br>");
    document.write(0371);//249
    document.write("<br>");
    document.write(0213);//139
    document.write("<br>");
    document.write(0217);//143
</script>

  

posted @ 2020-04-26 08:14  arun_yh  阅读(456)  评论(0编辑  收藏  举报