使用JavaScript怎么将10进制转换成36进制

  介绍

这期内容当中小编将会给大家带来有关使用JavaScript怎么将10进制转换成36进制,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

JavaScript可以做什么

1。可以使网页具有交互性,例如响应用户点击,给用户提供更好的体验。   2 .可以处理表单,检验用户的输入,并提供及时反馈节省用户时间。   3 .可以根据用户的操作,动态的创建页面。   4使用JavaScript可以通过设置饼干存储在浏览器上的一些临时信息。

数值准备

理清楚它的组成后,开始思考,一个10进制数经过怎样的转化可以成为一个36进制数呢?我们需要先准备一个有36个数值的“仓”库数组,这个数组用来存放36个进制数的所有数值,当10进制数需要进行进制转换的时候,根据数值进入这个仓库取出36进制数的值,在仓库中,0 - 9代表36进制数的0 - 9、10 - 35代表36进制数的无所不包的。代码如下

function  getNums36 (), {   var 才能;nums36 =, [];   ,,(var 小姐:=,0;,小姐:& lt;, 36,,,我+ +),{   ,,,如果,我的在=,0,,,,小姐:& lt;=, 9),{,//存入0 - 9的数的值   ,,,,,nums36.push (i),   ,,,},else {//,才能存入所有的数的值   ,,,,,nums36.push (String.fromCharCode(小姐:+,87));,,//,ASCII码转换   ,,,}   ,,}   console.log才能(nums36 & # 39; - - - - - - - - - - & # 39;);,,//,检查仓库的值   nums36; return 才能;   }

使用JavaScript怎么将10进制转换成36进制

实现

仓库构建好后,我们开始分解进制转化的过程。

<李>

首先对传入的10进制数进行检测,先进行浮点数判断,由于这里不讨论浮点数的进制转换,所以直接返回。其次,进行负数的检测和处理,如果n为负数,调用Math.abs()方法将n转化为正数。

<李>

检测完成后,开始进行转换

设立一个而循环,而内部首先对n值做36的取余处理,得到res,

var  res =, n  %, 36;

这里是要获得这个10进制数转换为36进制数的最低位的值,将res抛入仓库中,取得36进制对应的数值,用平移存入arr首位。

arr.unshift (nums36[物]);

最低位处理完后,我们需要对这个数进行进位,处理更高位数的值

n =,方法(n/36);

至此,完成一轮循环

我们用而不断对n进行res的数值取余并不断进位,最后,可以将10进制数转化为36进制数

注意,此时记得将之前设置的底片的负数判断载首位加上

arr.unshift(底片)

最后,返回36进制数

return  arr.join (“;”);

代码

//,提供36位的表达,0-9  a - z   function  getNums36 (), {   var 才能;nums36 =, [];   ,,(var 小姐:=,0;,小姐:& lt;, 36,,,我+ +),{   ,,,如果,我的在=,0,,,,小姐:& lt;=, 9), {   ,,,,,nums36.push(我)   ,,,},{else    ,,,,,nums36.push (String.fromCharCode(小姐:+,87));   ,,,}   ,,}   return 才能;nums36;   }   function  scale36 (n), {//才能,单独的功能函数//才能,16进制数:,0-9 , a-f ,,, 36进制数:,0-9 , a-z ,,   const 才能;arr =, [];   var 才能;nums36 =, getNums36 ();//才能,36,10   如果才能(! Number.isInteger (n)){//浮点数判断,目前不支持小鼠   ,,,console.warn(& # 39;不支持小数转换& # 39;);   ,,,return  n;   ,,},   var 才能;neg =, & # 39; & # 39;;   如果才能(n  & lt;, 0){//对负数的处理   ,,,,,neg =, & # 39; & # 39;;   ,,,,,n =, Math.abs (n)   ,,}   而才能(n), {   ,,,var  res =, n  %, 36个;   ,,,console.log (res, & # 39; + + + + + + + & # 39;);   ,,,arr.unshift (nums36[物]);   ,,,//,进位   ,,,n =,方法(n/36);   ,,,console.log (n, & # 39; - - - - - - - - - - - - - - - - # 39;);   ,,}   arr.unshift才能(否定)   return 才能arr.join (“;”);      }      console.log (scale36 (20));,//, 10

扩展

7进制数的实现

这套模板同样适用于10进制对其他进制的转换,我们只需要修改一下仓库的数值,这里以一道LeetCode的七进制题目为例

504。七进制数
给定一个整数,将其转化为七进制,并以字符串形式输出。

使用JavaScript怎么将10进制转换成36进制