• 浅谈js的数字格式


    除了正常我们常用的十进制(如5,8,12.123等),js还可以直接表示2、8、16进制

    1.二进制

    二进制是以0b开头

    0b10; //2

    2.八进制

    八进制是以0开头

    010; //8

    3.十六进制

    十六进制是以0x开头

    0x10; //16

    可以看出js虽然是支持2、8、16进制,但是它最后得出结果的时候仍然把数字转为10进制,如果我们需要结果是2、8、16进制形式的话我们有一个方法:

    toString(radix) 把10进制数字解析成几进制

    var x = 255;
    x.toString('16'); //"ff"

    4.解析成其他进制

    上面都是10进制到其他进制的转化(实际大小不会变化),但如果想把数字解析为其他进制(把数字看成不同进制,实际大小会变化),如想把12解析成4进制,可以写成parseInt(12,4) ; //6 = 1*4+2

    parseInt

    parseInt(num,radix) 其中36>radix>2,radix是用几进制来解析这个数字(parseFloat没有这个功能)

    //80用16进制来解析当然就是128了
    parseInt(80,16); //128 = 8*16
    
    //改变解析进制数,只能选比该数字所有位都大的数
    //如80,只能选9以上,不然会解析不了而返回NaN
    parseInt(80,8); //NaN
    
    //注意大于10进制的进制数一定要用字符串来表示,不然会报错
    //如果用0x15这样形式,js会先将其转化为21,最后结果就不会是预期的结果了
    parseInt('ag',18); //196 = 10*18+16
  • 相关阅读:
    Java学习笔记-关键字super
    Java学习笔记 -方法覆盖和多态
    刷题笔记-图论
    刷题笔记 -宽搜bfs和深搜dfs
    刷题笔记-双指针算法
    python之switch语句,优化多个if语句
    激光驱动上位机软件开发引言
    上位机开发之PyQt5知识点
    stm32 关于正负数的运算(待验证)
    c语言之关键字volatile
  • 原文地址:https://www.cnblogs.com/amiezhang/p/7940067.html
Copyright © 2020-2023  润新知