美文网首页
十进制转成二进制,分别数组和字符串的形式返回

十进制转成二进制,分别数组和字符串的形式返回

作者: subject_2619 | 来源:发表于2017-09-11 09:08 被阅读0次

在应届生笔试中,经常会遇到进制的转换,可能会以不同的格式返回,下面的代码就是十进制转成二进制,分别以数组和字符串的形式返回,代码如下:

//10进制转成2进制,返回数组
-(NSMutableArray*)convertBinary:(int) decimal{
    
    NSMutableArray *tmp = [NSMutableArray arrayWithObjects:[NSNumber numberWithInt:0],[NSNumber numberWithInt:0],[NSNumber numberWithInt:0],[NSNumber numberWithInt:0],[NSNumber numberWithInt:0],[NSNumber numberWithInt:0],[NSNumber numberWithInt:0],[NSNumber numberWithInt:0],nil];
    NSUInteger index=7;
    int remainder =0;//余数
    int divisor = decimal;//整数
    while(divisor > 0) {
        remainder = divisor%2;
        [tmp replaceObjectAtIndex: index withObject:[NSNumber numberWithInt:remainder]];
        divisor=divisor/2;
        index--;
    }
    return tmp;
}

//十进制转二进制,返回字符串
- (NSString*)toBinarySystemWithDecimalSystem:(int)num length:(int)length
{
    int remainder =0;//余数
    int divisor =0;//除数
    NSString* prepare =@"";
    while(true)
    {
        remainder = num%2;
        divisor = num/2;
        num = divisor;
        prepare = [prepare stringByAppendingFormat:@"%d",remainder];
        if(divisor == 0){
            break;
        }
    }
    //倒序输出
    NSString* result = @"";
    for(int i = length -1; i >=0; i --){
        if(i <= prepare.length-1) {
            result = [result stringByAppendingFormat:@"%@",
                      [prepare substringWithRange:NSMakeRange(i ,1)]];
        }else{
            result = [result stringByAppendingString:@"0"];
        }
    }
    NSLog(@"result=%@",result);
    return result;
}

相关文章

  • 十进制转成二进制,分别数组和字符串的形式返回

    在应届生笔试中,经常会遇到进制的转换,可能会以不同的格式返回,下面的代码就是十进制转成二进制,分别以数组和字符串的...

  • 二进制、十进制互转

    十进制整数 转 二进制数组 二进制字符串 转 十进制整数 二进制数组 转 十进制整数

  • 十进制、八进制、十六进制和二进制互相转化与手写计算方法

    一、N进制转十进制 二进制、八进制、和十六进制转成十进制方法类似。N进制的数转成十进制,只需要 1. 二进制转成十...

  • Leetcode 67.Add Binary

    题目 题目大意:给定两个二进制数的字符串字符串,返回它们的和的二进制字符串。 开始的思路是将二进制转换成十进制相加...

  • LeetCode之Find Numbers with Even

    问题: 方法:本题很简单,因为纯数字统计十进制位数不容易所以转成字符串后计算十进制位数即可,主要考察二进制到十进制...

  • Java位运算

    java各类转化字节数组 <----->二进制数字、十进制、16进制、字符串 二进制(Binary)<------...

  • js中数组的方法

    join()数组转成字符串使用连接字符连接,默认,连接,返回字符串push()将元素添加到数组末尾,返回修改后的长...

  • 二进制,八进制,十进制,十六进制转换

    十进制转二进制十进制转二进制 二进制转十进制十进制转二进制 二进制转八进制二进制转八进制 八进制转成二进制八进制转...

  • Array方法总结

    toString() 返回数组中每个值的字符串形式拼接而成的以逗号分隔的字符串 valueOf() 返回的还是数组...

  • Kotlin 教程之【基本类型】

    参考文档:点击这里 数字 字符 布尔 数组 字符串 数字 类型 字面常量 数字类型的字面常量支持十进制、二进制和十...

网友评论

      本文标题:十进制转成二进制,分别数组和字符串的形式返回

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