目 录CONTENT

文章目录

十进制与二进制的转换

Administrator
2020-07-24 / 0 评论 / 0 点赞 / 14145 阅读 / 2510 字

十进制与二进制的转换

十进制与二进制的互转是计算机里面最常见的进制转换,除了这两种转换以外,我们还有其它的进制转换,如8进制与16进制,这个都可以相互转换,在JavaScript里面提供了两个方式对进行进行互相转换。 这两个方法其实我们都已经学过了

十进制数字转其它进制

var a = 66;
var b = 18;

上面的两个数都是十进制,如果要将这两个数转2进制,我们应该怎么做呢?

如果采取我们以前手动的方式来完成,我们可以通过取余来进行

我们程序员除了要掌握手动的方式来转换以后,还可以能过我们的代码来进行转换

我们的进十进制数据可以通过调用toString(radix?:number)的方式来转换成字符串,在转换成字符串的时候,它默认是以十进制的方式来进行转换,其实它还可以转换成其它进制

a.toString(2);				//得到2进制的结果	  "1000010"
b.toString(2); 				//得到了2进制的结果  "10010"

toString()的这个方法不仅仅可以转换成二进制,它是可以转换成任何进制

目标进制如果不写则默认是10

toString(目标进制);				//这样它就可以转换成我们的目标进制了

我们现在通过进制转换来列举一个例子,这个例子就是我们的CSS里面颜色值,在CSS里面,我们可以通过16进制来表示颜色 ,也可以通过rgb来表示 ,如

color:#ffffff;
color:rgb(255,255,255);

上面的两个颜色都代表的是白色,现在我们就用JS来看一看,它们是否相等

FF是16进制的值,255是十进制的值,它们两个值是否相等我们现在通过代码来看

var a = 255;			//这是十进制的255,现在将它转成16进制
a.toString(16);			//转换成16进制以后得到结果 "ff"

同理,如果我们将16进制的ff转换成10进制呢

十六进制字面值的前两位必须是 0x,后跟任何十六进制数字(0~9 及 A~F)。其中,字母 A~F 可以大写,也可以小写

var b = 0xff;				//这是十六进制的ff,现在将它转换成10进制
b.toString(10);				//得到结果255

其它进制转十进制数字

var a = "10010";				//这是2进制的10010,现在要转成十进制的数
var b = "1000010";				//这是2进制的1000010,要转10进制

image-20200410145104417

上在的图是一个手动计算的过程

使用parseInt(s:string,radix?:number):number的方式来进行转换

parseInt(a,2);				//得到10进制的结果 18
parseInt(b,2);				//得到10进制结果  66
parseInt("ff",16);			//得到19进制结果  255

parseInt可以将非十进制的数字转换成我们的十进制,语法格式如下

parseInt(原来的数字,原来的进制);
0

评论区