javascript 10进制和62进制的转换

function string10to62(number) {
    var chars = ‘0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ‘.split(‘‘),
        radix = chars.length,
        qutient = +number,
        arr = [];
    do {
        mod = qutient % radix;
        qutient = (qutient - mod) / radix;
        arr.unshift(chars[mod]);
    } while (qutient);
    return arr.join(‘‘);
}

function string62to10(number_code) {
    var chars = ‘0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ‘.split(‘‘),
        radix = chars.length,
        number_code = String(number_code),
        len = number_code.length,
        i = 0,
        origin_number = 0;
    while (i < len) {
        origin_number += Math.pow(radix, i++) * (+number_code.charAt(len - i) || 0);
    }
    return origin_number;
}

javascript 10进制和62进制的转换

时间: 2024-08-02 12:08:52

javascript 10进制和62进制的转换的相关文章

C# 10进制与62进制互转 数据大无压力 10进制与72,96进制任意转换

因项目需要把10进制的ID转换成62进制的字符串,分享给别人. 于是在网上搜索了很多算法,但都未能满足需要,项目里的ID是固定算法算出来的18~20位数据的ulong整型. 如:17223472272256398107,509488277152981097. 网上找的算法问题在于,将ulong的值转换62进制的字符串后,再将字符串转换成ulong值时会不准确. 于是各种测试与假象问题所在,最后确定算法确实没有问题,于是开始怀疑数据类型的问题. 果然,原因是使用了Math.Pow(double x

10进制转62进制,实现穷举指定位数的所有密码组合(暴力破解)

因为我们这里要穷举的密码包括0-9,a-z,A-Z共62个字符,所以我们采用62进制来遍历. 首先,我们实现一个10进制转62进制的方法. private static char[] charSet = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray(); //private static string[] charSet = { "0", "1&qu

javascript 10进制和64进制的转换

原文:javascript 10进制和64进制的转换 function string10to64(number) { var chars = '0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ-~'.split(''), radix = chars.length, qutient = +number, arr = []; do { mod = qutient % radix; qutient = (qutient - m

&lt;13&gt;【了解】计算机中的进制+【理解】原码反码补码基本概念+【理解】为什么要引入反码、补码?+【掌握】位运算符介绍及使用+位运算应用:编程实现10进制转2进制

1 #include <stdio.h> 2 3 int main(int argc, const char * argv[]) { 4 5 //定义10进制数,打印出10.8.16进制的值 6 int a = 13; 7 printf("%d\n",a); 8 printf("%o\n",a); 9 printf("%x\n",a); 10 11 //int 64 4个字节 12 int b = 0b0000000000000000

python中2进制、10进制、16进制等之间的转换

10转2: bin(8) # '0b1000' 2转10: int('1000', 2) # 8 10转16: hex(15) # '0xf' 16转10: int('f', 16) # 15 2进制和16进制中间通过转10进制可以相互转换

华为笔试练习题----解析9进制,11进制的字符串为10进制的数字输出

                                                                              解析9进制,11进制的字符串为10进制的数字输出 描述: 解析9进制,11进制的字符串为10进制的数字输出,输入的字符串有效位(0v0012345678)长度不超过8位,前面的00不算做有效位.解析后以10进制的数字输出.如果解析到非法字符串则返回-1 9进制: 9进制的数的范围:0,1,2,3,4,5,6,7,8 9进制的开始为:0V或者0

Project Ruler 算法练习之 10 进制 转 2进制 以及数字对称

问题描述: The decimal number, 585 = 10010010012 (binary), is palindromic in both bases. Find the sum of all numbers, less than one million, which are palindromic in base 10 and base 2. (Please note that the palindromic number, in either base, may not inc

自己实现10进制转2进制和16进制

1 public class Test { 2 3 public static void main(String[] args) { 4 System.out.println(toBinary(9)); 5 System.out.println(toHex(559)); 6 System.out.println(Integer.toBinaryString(9)); 7 System.out.println(Integer.toHexString(559)); 8 /*1001 9 22F 10

C语言将10进制转为2进制

第一种方法: #include<stdio.h> void dectobin(int n); int main() { int x=0; scanf("%d",&x);//只能正数 dectobin(x); printf("\n"); return 0; } void dectobin(int n) { if(n/2>0) { dectobin(n/2); printf("%d",n%2); } else { print