我的一亩三分地 我就喜欢!
13fen  设为主页
 收藏本站
 
当前位置: > 一亩三分地:首页 > 网络学院 > 图型图像 > FLASH > 2进制~62进制与10进制的转换
热门文章排行
热门文章排行 Photoshop制作精美的简历封面(10-12)
在Flash课件中正确调用SWF文件(11-25)
巧用Photoshop徒手绘制扇子(10-19)
CorelDRAW12循序渐进-制作文本效果(12-29)
消除文字勾边后产生毛刺的小技巧(06-14)
精采文章排行
精采文章排行 GIF动态图片的修改(11-07)
Q版人物绘制全过程(11-07)
Flash互动电子地图制作手册——入门(11-01)
Flash 8.0前瞻——揭开8 ball的薄面(10-24)
土人AS入门教程对象篇(10-24)
技术专题推荐
网管论坛交流
 

2进制~62进制与10进制的转换 

作者:佚名   来源:Linux 宝库   点击:   日期:2006-11-25


-->
效果如下:




//var str="AZ"; 
//for(var i=0;i<str.length;i++)trace(str.charCodeAt(i)); 
//charCode:0-9:(48-57);A-Z:(65-90);a-z:(97-122); 
//将10进制数N转换成d进制数(以0-9,A-Z,a-z字符表示),d为2-62 
function jh_10toD(N, d) { 
  N = Math.floor(Number(N)); 
  d = Math.floor(Number(d)); 
  d = d<2 ? 2 : d>62 ? 62 : d; 
  var s, e = ""; 
  while (N>0) { 
    s = N%d; 
    if (s>35) { 
      //36至62的数用a-z字符表示(s-36+97) 
      s = String.fromCharCode(s+61); 
    } else if (s>9) { 
      //10至35的数用A-Z字符表示(s-10+65) 
      s = String.fromCharCode(s+55); 
    } 
    e = s+e; 
    N = Math.floor(N/d); 
  } 
  e = e != "" ? e : "0"; 
  return e; 

//将d进制数转换为10进制 
function jh_Dto10(str, d) { 
  d = Math.floor(Number(d)); 
  d = d<2 ? 2 : d>62 ? 62 : d; 
  var code = 0, num = 0; 
  for (var i = 0; i<str.length; i++) { 
    code = str.charCodeAt(i); 
    if (code>96) { 
      code -= 61; 
    } else if (code>64) { 
      code -= 55; 
    } else { 
      code -= 48; 
    } 
    num += code*Math.pow(d, str.length-1-i); 
  } 
  return num; 

//测试: 
in_D = 62; 
num1 = "15000"; 
num2 = jh_10toD(num1, in_D); 
bt1.onRelease = function() { 
  num2 = jh_10toD(num1, in_D); 
}; 
bt2.onRelease = function() { 
  num1 = jh_Dto10(num2, in_D); 
}; 


 




文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:
·消除文字勾边后产生毛刺的小技巧 · 解决COREDRAW9与双核CPU冲突的技巧 5
·CorelDRAW入门与进阶实例:8.2椭圆按钮制 ·CorelDRAW印前分色新手上路
·IllustratorCS制作刺绣效果 ·CorelDRAW使用技巧-如何在CorelDRAW中虚

   文章评论:(条)
  
 请留名: 匿名评论   点击查看所有评论 网管论坛
 

  责任编辑:一分  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。