您的位置:首页 > 其它

二八十进制转换

2010-03-07 11:34 232 查看
注意,这不是完善的代码,只是用程序记录下手动转换计算时的思路

//10进制转2进制
//除以2取余,逆序排列
function Convert10to2(x){
var ret = [], temp = x;
do {
ret.push( temp % 2 );
temp = Math.floor(temp / 2);

} while ( temp > 1 )
ret.push(temp);
return ret.reverse().join("");
}


//2进制转10进制
//按权展开求和
function Convert2to10(x){
var ret = x.toString().split("").reverse(), temp = 0,len = ret.length;
for(var i=0; i<len; i++){
temp += ret[i] * Math.pow(2,i) ;
}
return temp;
}
//8进制转2进制
//每位数转成3位2进制,不足补0
function Convert8to2(x){
var ret = x.toString().split(""),temp = "",t,len = ret.length;
for(var i=0; i<len; i++){
t = Convert10to2( parseInt(ret[i]) );

if( t.length < 3 ){
t = "0" + t;
if(t.length == 2){ t = "0" + t; }
}
temp  = temp + "" + t;
}
return temp;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: