美文网首页
进制转换

进制转换

作者: 哎呦我去叫什么呢 | 来源:发表于2017-01-20 15:40 被阅读27次

//2进制转10进制

  • (NSString *)toDecimalSystemWithBinarySystem:(NSString *)binary
    {
    int ll = 0 ;
    int temp = 0 ;
    for (int i = 0; i < binary.length; i ++)
    {
    temp = [[binary substringWithRange:NSMakeRange(i, 1)] intValue];
    temp = temp * powf(2, binary.length - i - 1);
    ll += temp;
    }

    NSString * result = [NSString stringWithFormat:@"%d",ll];

    return result;
    }
    字符串转换16进制
    NSString *hexString = [NSString stringWithFormat:@"%@",[[NSString alloc] initWithFormat:@"%1x",number]];

NSString转char
char mychar[string.length];
strcpy(mychar,(char *)[string UTF8String]);

    char ch = mychar[i];
   原文:http://www.cocoachina.com/bbs/read.php?tid=141348

/将十进制转化为二进制,设置返回NSString 长度

  • (NSString *)decimalTOBinary:(uint16_t)tmpid backLength:(int)length
    {
    NSString *a = @"";
    while (tmpid)
    {
    a = [[NSString stringWithFormat:@"%d",tmpid%2] stringByAppendingString:a];
    if (tmpid/2 < 1)
    {
    break;
    }
    tmpid = tmpid/2 ;
    }

    if (a.length <= length)
    {
    NSMutableString *b = [[NSMutableString alloc]init];;
    for (int i = 0; i < length - a.length; i++)
    {
    [b appendString:@"0"];
    }

      a = [b stringByAppendingString:a];
      [b release];
    

    }

    return a;

}

//将十进制转化为十六进制

  • (NSString *)ToHex:(uint16_t)tmpid
    {
    NSString *nLetterValue;
    NSString *str =@"";
    uint16_t ttmpig;
    for (int i = 0; i<9; i++) {
    ttmpig=tmpid%16;
    tmpid=tmpid/16;
    switch (ttmpig)
    {
    case 10:
    nLetterValue =@"A";break;
    case 11:
    nLetterValue =@"B";break;
    case 12:
    nLetterValue =@"C";break;
    case 13:
    nLetterValue =@"D";break;
    case 14:
    nLetterValue =@"E";break;
    case 15:
    nLetterValue =@"F";break;
    default:
    nLetterValue = [NSString stringWithFormat:@"%u",ttmpig];

      }
      str = [nLetterValue stringByAppendingString:str];
      if (tmpid == 0) {
          break;
      }
    

    }
    return str;
    }
    //将16进制转化为二进制

-(NSString *)getBinaryByhex:(NSString *)hex
{
NSMutableDictionary *hexDic = [[NSMutableDictionary alloc] init];

hexDic = [[NSMutableDictionary alloc] initWithCapacity:16];
 
[hexDic setObject:@"0000" forKey:@"0"];
 
[hexDic setObject:@"0001" forKey:@"1"];
 
[hexDic setObject:@"0010" forKey:@"2"];
 
[hexDic setObject:@"0011" forKey:@"3"];
 
[hexDic setObject:@"0100" forKey:@"4"];
 
[hexDic setObject:@"0101" forKey:@"5"];
 
[hexDic setObject:@"0110" forKey:@"6"];
 
[hexDic setObject:@"0111" forKey:@"7"];
 
[hexDic setObject:@"1000" forKey:@"8"];
 
[hexDic setObject:@"1001" forKey:@"9"];
 
[hexDic setObject:@"1010" forKey:@"A"];
 
[hexDic setObject:@"1011" forKey:@"B"];
 
[hexDic setObject:@"1100" forKey:@"C"];
 
[hexDic setObject:@"1101" forKey:@"D"];
 
[hexDic setObject:@"1110" forKey:@"E"];
 
[hexDic setObject:@"1111" forKey:@"F"];
 
NSMutableString *binaryString=[[NSMutableString alloc] init];
 
for (int i=0; i<[hex length]; i++) {
     
    NSRange rage;
     
    rage.length = 1;
     
    rage.location = i;
     
    NSString *key = [hex substringWithRange:rage];
     
    //NSLog(@"%@",[NSString stringWithFormat:@"%@",[hexDic objectForKey:key]]);
     
    binaryString = [NSString stringWithFormat:@"%@%@",binaryString,[NSString stringWithFormat:@"%@",[hexDic objectForKey:key]]];
     
}
 
//NSLog(@"转化后的二进制为:%@",binaryString);
 
return binaryString;

}

相关文章

  • 【iOS 开发】二进制、十进制、十六进制相互转换的方法

    十进制转换为二进制 十进制转换为十六进制 二进制转换为十六进制 十六进制转换为二进制 二进制转换为十进制 作者:J...

  • python 的进制转换

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

  • Flutter 进制转换

    10进制转换位16进制 16进制转换位10进制

  • c#学习(一)进制初步认识

    进制转换进制转换表.jpg 二进制的转换 十进制转2进制/8进制/16进制 2进制/8进制/16进制/转十进制 2...

  • python 各种进制的转换

    转换二进制: bin()函数 转换十进制:int()函数 转换十六进制:hex()函数 转换8进制:oct()函数

  • 进制转换

    十进制转换为二进制 185 = 10111001 十进制转换为八进制 185=271 十进制转换为十六进制 185...

  • iOS开发中的进制转换

    进制转换 开发中常用的进制有二进制、十进制、十六进制,此文章旨在说明进制转换的规则、流程;最后用OC写了进制转换的...

  • python 进制转换

    如何表示二进制 任意进制之间的转换 任意进制转换成二进制--bin 任意进制转换成十进制--int 3.任意进制转...

  • python-基础篇练习题

    通过代码实现如下转换:二进制转换成十进制:v = “0b1111011”十进制转换成二进制:v = 18八进制转换...

  • iOS进制之间转换

    1 进制的转换(一) 1.1 问题 完成以下数字的进制转换: 35转换成二进制; 101101 转换成十进制; 1...

网友评论

      本文标题:进制转换

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