Js进制转换

更新日期: 2019-09-16阅读: 6.7k标签: 进制

一、number 类型的 toString 方法

语法

numberObject.toString( [ radix ] )

参数

参数描述
radix可选/Number类型指定的基数(进制数),默认为10。

参数radix支持 [2, 36] 之间的整数。例如:参数值为2,则表示二进制;为8,则表示八进制;为16,则表示十六进制。
如果省略参数radix,则默认为10(十进制)。

返回值

toString()函数的返回值为String类型,返回该数字指定进制形式的字符串。

 

二、string 转 number 的方法

语法

parseInt( numString [, radix ] )

参数

参数描述
numStringString类型需要转换为整数的字符串。
radix可选/Number类型指定的进制基数。

参数radix可以是一个介于 [2, 36] 之间的数值。例如:参数radix为2,则将numString视作二进制;参数radix为8,则视作八进制;参数radix为16,则视作十六进制。

如果没有提供radix参数,则parseInt()函数将会根据参数numString的前缀来决定转换的进制基数。如果numString的前缀是0x,则转换为十六进制;如果前缀是0,则转换为八进制;其他情况均转换为十进制。

返回值

parseInt()函数的返回值为Number类型,返回转换后的整数。

如果指定的字符串中包含非数字字符,只要字符串开头的一部分符合整数的转换规则,则parseInt()函数会将这一部分字符串转化为整数(从字符串开头,直到遇到非数字字符为止)。如果字符串以非数字字符开头,则返回NaN。


数字转2进制

(100).toString(2)         // "1100100"


数字转8进制

(100).toString(8)         // "144"


数字转16进制

(100).toString(16)         // "64"


16进制转10进制

parseInt(0x64)            //  100 
parseInt('0x64')          //  100
parseInt('0x64',16)       //  100    第二参数写了更好,以免迷糊
​
parseInt('ff')            //  NaN
parseInt('ff',16)         //  255   这里没有0x打头,必须要注明要转的基数

8进制转10进制

parseInt(0100);           //  64    先转成字符串,再以8进制解析
parseInt("0100",8);       //  64    正确写法,无歧义  !!!
​
parseInt("0100");         //  100   官方表示不确定:但是测试结果,谷歌浏览器当成10进制输入。所以不建议这样写

2进制转10进制

parseInt("11",2);        //返回 3 

 

链接: https://www.fly63.com/article/detial/5384

二进制和十进制相互转换、位移运算

自己的解题思路是将十进制的数转为二进制(不足32位补0),然后依次取8位转化为十进制的数字,再用.连接即为IP。里面的几个点记录一下:十进制转换为二进制 numObj.toString([radix]) radix可以指定进制

理解二进制操作

最近在用 shell 写一个小工具,里面要用到复杂的二进制操作,对 int 值进行位操作和与或非,而 shell 的语法里, & 是取布尔与, >> 是重定向,不支持二进制操作,为了写出只需要默认系统环境就可以运行的程序

js 进制转换/进制编码解码

js 进制转换支持 2-36 , 即 0-9a-z .可以用于混淆、数值缩短、特殊符号转换…字符串36进制编码解码;ip地址端口号36进制编码解码

Js将十进制转换为十六进制?

JavaScript中有很多内置函数可以帮我们进行数(进)制转换。那么给定一个十进制数字,如何将数字从十进制转换为十六进制?下面本篇文章就来给大家介绍一个使用JavaScript将十进制转换为十六进制的方法

JavaScript 进制转换&位运算

在一般的代码中很少会接触到进制和位运算,但这不代表我们可以不去学习它。作为一位编程人员,这些都是基础知识。如果你没有学过这方面的知识,也不要慌,接下来的知识并不会很难。本文你将会学习到:进制转换,按位操作符,Javascript进制转换

nodejs怎么存取2进制数据?

在客户端javascript脚本代码中,对于二进制数据并没有提供一个很好的支持。然后在nodejs中需要处理像TCP流或文件流时,必须要处理二进制数据。因此在node.js中,定义了一个Buffer类,该类用来创建一个专门存放二进制数据的缓存区

十进制与十六进制之间的转换

将十进制数 x 除以 16, 即 x = q * 16 + r,取得余数 r 和 商 q,此时余数 r 就是 x 用十六进制表示时的最低位值; 之后商值 q 继续进行以上的除法操作, 获取每次的余数 r 作为 十六进制表示时的低位值, 直到 q 值小于 16 为值, 此时的

二进制数与位运算符

位运算符是基于二级制数进行操作的,即表示数字的 32 个数位,它由0和1组成…ECMAScript整数有两种类型,即有符号整数(允许用正数和负数)和无符号整数(只允许用正数)

JavaScript中的多种进制与进制转换

JavaScript 中提供的进制表示方法有四种:十进制、二进制、十六进制、八进制。对于数值字面量,主要使用不同的前缀来区分:

Js二进制家族:文件base64、File、Blob、ArrayBuffer互转

JavaScript 提供了一些 API 来处理文件或原始文件数据,例如:File、Blob、FileReader、ArrayBuffer、base64 等。Blob 全称为 binary large object ,即二进制大对象,它是 JavaScript 中的一个对象

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!