进制javascript,进制转换

怎么使用JavaScript进行进制转换

js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。

站在用户的角度思考问题,与客户深入沟通,找到凌云网站设计与凌云网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、网站制作、企业官网、英文网站、手机端网站、网站推广、域名申请、虚拟空间、企业邮箱。业务覆盖凌云地区。

用JavaScript实现:输入任意的进制n和数字d,将其转换为10进制输出.

function test(n,d){

if(isNaN(n)){

return "n必须是数字!";

}

/*只考虑数字的情况.因为n可以是随便的数字.

如果说n=16那就16进制可以用上ABCDEF

那么如果输入100 你要用什么符号?

所有只考虑数字的情况.输入的必须是数字.省的麻烦.

还有小数之类的这里就不处理了*/

if(isNaN(d)){

return "d必须是数字!";

}

var src = (d + "").split("");

var res = 0;

for(i=0;isrc.length;i++){

if(src[i]=n){

return d + "不是 "+n+" 进制数";

}

res += Math.pow(n,(src.length-1-i))*src[i];

}

return res;

}

alert(test(2,101));// 提示 5

alert(test(2,102));//提示 102 不是 2 进制数

javascript如何输入一个十进制数,并将其转换成二进制数?

以下函数可以将十进制数转为二进制数:

#include iostream

#include malloc.h

#define MAX 33

using namespace std;

/* 十进制数转换为二进制数(字符串表示) */

char *decToBin(long num);

int main()

{

long dec = 123456789;

cout"10进制数:\t"decendl;

cout"2进制数:\t"decToBin(dec)endl;

return 0;

}

/* 十进制数转换为二进制数(字符串表示) */

char *decToBin(long num)

{

char *arr;

char temp;

int i, n;

arr = (char *)malloc(sizeof(char) * MAX);

n = 0;

while(num  0)

{

arr[n++] = num % 2 + '0';

num /= 2;

}

for(i=0; in/2; i++)

{

temp = arr[i];

arr[i] = arr[n-1-i];

arr[n-1-i] = temp;

}

arr[n] = '\0'; 

return arr;

}

1、十进制数是指各位数字全部由小于10的数字(0..9)组成的数值,如123、45678等。二进制数是指各位数字全部由小于2的数字(0..1)组成的数值,如10、1011等。将十进制数转换为二进制数是将全部由小于10的数字组成的数值转换为全部由小于2的数字组成的数值,如十进制数100转换为二进制数为1100100。

2、将十进制数转换为二进制数的算法是采用辗转取余法,即将待转换数不断除2取余,记录余数,用新的商继续除2取余,直到该数为零。由于余数小于2,故所有余数组成的数值全部由0、1组成。再对这些余数进行逆置即可。

javascript十六进制转十进制,请大神看看哪里错了

首先,switch语句用错了,每一个case都要以break结束(除非特殊需要),否则,满足case:"a"后,后面的case也会继续执行,直到遇到break。

其次,算法设计问题,进制转换,从高位开始计算需要得到对应的(幂值):

比如:aaaa = 16的3次方 x 10 + 16的2次方 x 10 + 16的1次方 x 10 + 16的0次方 x 10;

如下根据你的代码改过,可以参考。

function HexToDec(inStr) {

var FormatStr = inStr.toLowerCase();

var strLen = FormatStr.length;

var index = 0; //从最低位取值

var HexBit = 1; //index对应进制值

var HTDSult = 0;

while (index strLen) {

switch (FormatStr.substr(strLen-index -1, 1)) {

case "0":

HTDSult = HTDSult + Math.pow(16, index) * 0;

break;

case "1":

HTDSult = HTDSult + Math.pow(16, index) * 1;

break;

case "2":

HTDSult = HTDSult + Math.pow(16, index) * 2;

break;

case "3":

HTDSult = HTDSult + Math.pow(16, index) * 3;

break;

case "4":

HTDSult = HTDSult + Math.pow(16, index) * 4;

break;

case "5":

HTDSult = HTDSult + Math.pow(16, index) * 5;

break;

case "6":

HTDSult = HTDSult + Math.pow(16, index) * 6;

break;

case "7":

HTDSult = HTDSult + Math.pow(16, index) * 7;

break;

case "8":

HTDSult = HTDSult + Math.pow(16, index) * 8;

break;

case "9":

HTDSult = HTDSult + Math.pow(16, index) * 9;

break;

case "a":

HTDSult = HTDSult + Math.pow(16, index) * 10;

break;

case "b":

HTDSult = HTDSult + Math.pow(16, index) * 11;

break;

case "c":

HTDSult = HTDSult + Math.pow(16, index) * 12;

break;

case "d":

HTDSult = HTDSult + Math.pow(16, index - 1) * 13;

break;

case "e":

HTDSult = HTDSult + Math.pow(16, index - 1) * 14;

break;

case "f":

HTDSult = HTDSult + Math.pow(16, index - 1) * 15;

break;

}

index++;

}

return HTDSult;

}

javascript输入一个十进制数,将其转换成二进制数。

以下函数可以将十进制数转为二进制数:

function Dec2Bin(num){

var num = + num;

return num.toString(2);

}

解释:

var num = + num;为隐式类型转换,将num转为Number类型

num.toString(2);将Number类型转为字符串,参数2表示转为二进制的字符串

javascript里面进制的问题

a.toString(x) 表示把a转化为x进制的数,你写的例子分别是2,3,8,16进制的结果


本文标题:进制javascript,进制转换
文章起源:http://scjbc.cn/article/dsccoji.html

其他资讯