[C++] Conversion between decimal and binary

Binary to decimal

1. From left to right:

#include<iostream>
using namespace std;
#include<string>
int binary_int(string str) {
    
    
    int sum = 0,t;
    for (int i = 0;i < str.size();i++) {
    
    
        t = str[i] - '0';
        sum = 2*sum + t;
    }
    return sum;
}
int  main() {
    
    
    cout << binary_int("1001");
    return 0;
}

2. From right to left:

#include<iostream>
using namespace std;
#include<string>
int binary_int(string str) {
    
    
    int sum = 0,k = 1,t;
    for (int i = str.size() - 1;i >= 0;i--) {
    
    
        t = str[i] - '0';
        sum += k * t;
        k *= 2;
    }
    
    return sum;
}
int  main() {
    
    
    cout << binary_int("1001");
    return 0;
}

Java problem solving

Convert decimal to binary:

package com.itheima;
import java.util.Scanner;
public class test {
    
    
    public static void main(String[] args) {
    
    
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个整数:");
        int n = scanner.nextInt();
        System.out.println(n + "转换为二进制形式:"+binaryToDecimal(n));

    }
    public static String  binaryToDecimal(int n){
    
    
        char nums[] = new char[32];
        int t = 0;// 记录位数
        while(n != 0){
    
    
            nums[t] = (char)(n % 2 + '0');
            t++;
            n /= 2;
        }
        for(int i=0;i<t/2;i++){
    
    
            char c = nums[i];
            nums[i] = nums[t-1-i];
            nums[t-1-i] = c;
        }
        return new String(nums);
    }
}

Insert picture description here

Decimal conversion to D hexadecimal:

package com.itheima;
import java.util.Scanner;
public class test {
    
    
    public static void main(String[] args) {
    
    
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个整数:");
        int n = scanner.nextInt();
        System.out.print("请输入要转换为的进制:");
        int D = scanner.nextInt();
        System.out.println(Integer.toString(n,D));

    }
}

Guess you like

Origin blog.csdn.net/weixin_48180029/article/details/113802481