js关于十进制与二进制之间的转换

Posted HaanLen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js关于十进制与二进制之间的转换相关的知识,希望对你有一定的参考价值。

//十进制转为二进制
(4).toString(2);
//'100'
(5).toString(2);
//'101'

//二进制转为十进制
parseInt('100',2)
//4
parseInt('101',2)
//5

语法

numObj.toString([radix])
  • radix 指定要用于数字到字符串的转换的基数 (从 2 到 36)。如果未指定 radix 参数,则默认值为 10。

如果 toString() 的 radix 参数不在 2 到 36 之间,将会抛出一个 RangeError。

  • Number 对象覆盖了 Object 对象上的 toString() 方法,它不是继承的 Object.prototype.toString()。对于 Number 对象,toString() 方法以指定的基数返回该对象的字符串表示。

  • 如果转换的基数大于 10,则会使用字母来表示大于 9 的数字,比如基数为 16 的情况,则使用 a 到 f 的字母来表示 10 到 15。

  • 如果基数没有指定,则使用 10。

  • 如果对象是负数,则会保留负号。即使 radix 是 2 时也是如此:返回的字符串包含一个负号(-)前缀和正数的二进制表示,不是 数值的二进制补码。

  • 进行数字到字符串的转换时,建议用小括号将要转换的目标括起来,防止出错。

详细见:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Number/toString

parseInt(string, radix) 

解析一个字符串并返回指定基数的十进制整数,radix 是 2-36 之间的整数,表示被解析字符串的基数。

  • string ;要被解析的值。如果参数不是一个字符串,则将其转换为字符串 (使用 ToString抽象操作)。字符串开头的空白符将会被忽略。

  • radix_ 可选_
    从 2 到 36 的整数,表示进制的基数。例如指定 16 表示被解析值是十六进制数。如果超出这个范围,将返回 NaN。假如指定 0 或未指定,基数将会根据字符串的值进行推算。注意,推算的结果不会永远是默认值 10!文章后面的描述解释了当参数 radix 不传时该函数的具体行为。

详细见:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/parseInt

组成原理中关于小数和整数关于十,二,十六,八进制之间任意的转换

一:我们首先介绍一下基数和位权这个概念:

二:十六、八、二进制转换二.八、十六进制

三   十进制转换二.八、十六进制

四 :任意进制数转换为十进制教

一:我们首先介绍一下基数和位权这个概念:

1)基数:
在进位计数法中,每个数位所用到的不同数码的个数称为基教。eg:十进制的,数码有0一9,则基数为10

2)位权:

在十进数101,其个位的与百位的1数值是不同的。每个数码表示的数值等于该数码本身乘以一个与它所在数位有关的常教,该常数称之为权。

eg  : 十进数101 第一个1表示的权为100,0表示的权为10,最后一个1表示的权为1

二:十六、八、二进制转换二.八、十六进制 http://zzido.cn/home/article/view/id/65281.html

对于一个二进制混合数(既包含数数包含小数) eg:一个二进制数1001.1 

若将其换八制,因为   8 ,以小数点为界,左边为整数部分,每三位一组,不足三位左边补0,右边为小数部分,每三位一组,不足三位右边补0,则可以表示为 001 001 . 101 100 换成八进制数为 11.54

三   十进制转换二.八、十六进制

一个十进制转换为任意进制,常采用基数乘除法。
                              除基取余法 (对整数运算)

基数乘除法分为
                                乘基取整法   (对小数运算) http://www.zzido.cn/home/article/view/id/65281.html

 

对于整数部分采用除基取余法:最先取得的余数为数的最高位,最后的余教为数的最低位。当余数为0时结束。

http://m.zzido.cn/home/article/view/id/65281.html
对于小数部分采用乘基取整法:最先取得的整数为数的最高位,最后取得的整数为数的最低位。乘积为1.0时结東。


注意 : 对于整数部分运算的结果从低到高排列.小数部分则相反。

https://www.zzido.cn/home/article/view/id/65281.html
eg. 将十进制教321. 68750. 转换成 二位进制。

将整数部分和小数部分分开来;

1)先看整数部分:用除基取余法

 

2)再看小数部分:用乘积取整法

 http://zzido.cn/home/article/view/id/65283.html

则小数部分0.6815==0.1011 (二进制)

所以321.6875换为二进制为101000001.1001
注意:二、八十六进制一定可以换为十进制,但十进制不一定都可以换为二、八-十六进制
eg.十进制 0.3 用乘基取余法,无法得出1.0


四 :任意进制数转换为十进制教

http://www.zzido.cn/home/article/view/id/65283.html
将任意进制教的各位数位与它们的权值相乘再相加。该方法称为权展开相加法。
假如一个r进制数()的数值表示为:

eg 二进制 1101.1101 转换为十进制为

 

= 13.815

李贺南园十三其六23李商隐初食笋呈座中23李商隐锦瑟此情可待成追忆只是 http://m.zzido.cn/home/article/view/id/65283.html

当时已惘然23孟郊登科后23苏舜钦淮中晚泊犊头23韦应物滁州西涧23温庭筠菩萨蛮24杜甫江畔独步寻花七绝句其六24韩偓懒起24贾岛题李凝幽居24李白金陵酒肆留别24李璟摊破浣溪沙24李商隐安定城楼24王安石葛溪驿24杨万里小雨24元稹离 https://www.zzido.cn/home/article/view/id/65283.html 思五首其四

张仲素燕子楼相思多少地角天涯未是长25白居易花非花25冯延巳鹊踏枝25黄庭坚戏呈孔毅父25李贺雁门太守行25李商隐马嵬二首其二25李商隐无题25李煜浪淘沙25苏轼六月二十七日望湖楼醉书其一25元好问摸鱼儿二首其一问世间情是何物直教生死相许25元稹遣悲怀三首其一26白居易暮江吟

陈与义伤春26李商隐晚晴26李商隐无题26李商隐无题身无彩凤双飞翼心有灵犀一点通26李煜乌夜.

http://zzido.cn/home/article/view/id/65284.html

啼26苏轼食荔支二首其二26苏轼新城道中其一26晏殊木兰花26元稹遣悲怀三首其二27白居易卖炭翁27范仲淹渔家傲27李贺金铜仙人辞汉歌27李商隐隋宫27刘禹锡秋词二首其一27陆游游山西村27苏轼纵笔27苏轼纵笔其一27晏殊破阵子27张可久塞鸿秋兽炉沈 http://www.zzido.cn/home/article/view/id/65284.html 水烟翠.

沼残花片一行行写入相思传28陈师道春怀示邻里28刘禹锡酬乐天扬州初逢席上有赠28刘禹锡西塞山怀古28陆游关山月28梅尧臣东溪28欧阳修蝶恋花28欧阳修画眉鸟28宋祁木兰花28徐再思折桂令平生不会相思才会相 http://m.zzido.cn/home/article/view/id/65284.html 思便害相思28杨万里闲居.

初夏午睡起二绝句其一29李冠蝶恋花一寸相思千万绪人间没个安排处29刘禹锡金陵五题石头城29刘禹锡竹枝词29欧阳修浪淘沙29苏轼海棠29题八咏楼29王安石北山29晏几道鹧鸪天29杨万里小池29杨万里晓出净慈送林子方二首其二2诗经鸨羽2诗经伯兮 https://www.zzido.cn/home/article/view/id/65284.html

诗经采薇2诗经伐木2诗经汉广2诗经将仲子2诗经溱洧2诗经鄘风柏舟2诗经月出2佚名击鼓诗经.邶风死生契阔与子成说执子之手与子偕老30杜牧九日齐山登高30刘禹锡金陵五题乌衣巷30柳永蝶恋花30陆游剑门道中遇微雨30苏轼卜算

子30苏轼江城子十年生死两茫茫不思量自难忘千里孤坟无处话凄凉30苏轼六月二十日夜渡海30王安石钟山即事30杨万里宿新市徐公店30叶绍翁游园不值31杜牧题乌江亭31黄庭坚雨中登岳阳楼望君山其一31林升题临安邸31陆游书愤31秦观鹊桥仙31温庭筠望江南31晏几道阮郎归31杨万里暮热游荷池上五首31佚名绸缪诗经.唐风今夕何夕见此良人31朱熹春日32白居易长恨歌天长地久有时尽此恨绵绵无绝期32陈师道示三子

以上是关于js关于十进制与二进制之间的转换的主要内容,如果未能解决你的问题,请参考以下文章

组成原理中关于小数和整数关于十,二,十六,八进制之间任意的转换

JS中二进制与十进制的相互转换

C# 对象文件与二进制串(byte数组)之间的转换

关于编写过程中进制之间的转换

js 进制之间的转换

Node.js权威指南 - 使用Buffer类处理二进制数据