美文网首页为ios技术而生
十进制和36进制之间的转换

十进制和36进制之间的转换

作者: 走在字里行间 | 来源:发表于2016-05-12 15:19 被阅读512次

/**

*十进制长整型变量转换36进制字符串

*

*@paramdecimal 10进制长整型

*

*@return36进制字符串

*/

+ (NSString*)decimal2ThirtySix:(unsignedlonglong)decimal

{

NSMutableString* dd = [NSMutableStringstring];

NSString* parma =@"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";

unsignedlonglongi = decimal;

while(i>0){

intc = i%36;

i = i/36;

charcc = [parmacharacterAtIndex:c];

[ddinsertString:[NSStringstringWithFormat:@"%c",cc]atIndex:0];

}

returndd;

}

/**

*  36进制字符串转换10进制长整型变量

*

*@paramthirtySixStr 36进制字符串

*

*@return10进制长整型变量

*/

+ (unsignedlonglong)thirtySix2Decimal:(NSString*)thirtySixStr{

NSString*str36 = [thirtySixStrcopy];

unsignedlonglongcou=0;

unsignedlonglength = [str36length];

for(unsignedlongj = length ; j>0;j--) {

charc = [str36characterAtIndex:j-1];

if(c>='0'&&c<='9'){

cou = cou+(c-'0')*pow(36,(length-j));

}elseif(c>='a'&&c<='z'){

cou = cou+(c-'a'+10)*pow(36,(length-j));

}

}

returncou;

}

相关文章

  • js数值进制互转

    十进制转换为?进制: 语法 其中,radix为可选。规定表示转换的基数,是2 ~ 36之间的整数。若省略该参数,则...

  • 十进制和36进制之间的转换

    /** *十进制长整型变量转换36进制字符串 * *@paramdecimal 10进制长整型 * *@retur...

  • 数据类型与运算符

    进制转换 在我的Java基础知识整理,补充内容,里面有十进制和二进制之间的转换,我这里就不再写十进制和二进制之间的...

  • 二进制、八进制、十进制、十六进制之间转换

    (一)、进制之间的转换 八进制:0-7 十六进制:0-F 1、十进制 与 二进制之间的转换 (1)、十进制转换为二...

  • 常量与进制转换

    常量类型 进制转换 1、十进制与二进制之间的转换 2、八进制与十进制、二进制之间的转化 3、十六进制与十进制、二进...

  • Java 数据类型 类型转换 运算符

    常用的进制二进制八进制十进制十六进制进制之间是可以互相转换的。 进制如何转换 以二进制和十进制进制为例10 -> ...

  • iOS 进制转换

    常见的二进制、十进制、十六进制之间相互转换的方法。 1. 十进制转换为二进制 2. 十进制转换为十六进制 3. 二...

  • python 的进制转换

    十进制, 二进制相互转换 十进制转换为二进制 二进制转换为十进制 十进制, 八进制相互转换 十进制转换为八进制 八...

  • iOS 二进制转换以及位运算

    进制之间的转换 十进制与二进制之间转换二进制转成十进制整数部分从个位开始,依次从2的0次方开始,让每位相加即可转换...

  • 二进制基础

    了解 十进制和二进制的由来 进制转换 位运算 JDK内置的进制转换 Java中的进制 十进制和二进制的又来 十进制...

网友评论

  • jueyingxx:36进制转10进制有问题
    jueyingxx:@jueyingxx
    以下是我用C语言自己写,可能不是最优的,有最优的可以回复我,大家一起共勉。
    ```
    unsigned long long convert36HexStrToDecimalWith36HexStr(const char *str) {

    const char *str36 = str;
    const char *param = "0123456789abcdefghijklmnopqrstuvwxyz";
    unsigned long long num = 0;
    for (unsigned long long i = 0; i < strlen(str36); i++) {
    for (unsigned long long j = 0; j < strlen(param); j++) {
    char iChar = str36[i];
    char jChar = param[j];
    if (jChar == iChar) {
    unsigned long long n = j * pow(36, strlen(str36)-i-1);
    num += n;
    break;
    }
    }
    }
    return num;
    }
    ```

本文标题:十进制和36进制之间的转换

本文链接:https://www.haomeiwen.com/subject/qdlprttx.html