software - java verify




बाइनरी स्ट्रिंग मान को दशमलव में कैसे परिवर्तित करें (9)

इसका परीक्षण करें, आपको पता चलेगा कि कोड में एक पंक्ति है जिसमें स्कैन . S () शामिल है । इसका उपयोग केवल डेटा (स्ट्रिंग) को स्टॉक करने के लिए किया जाता है। तो बस इसे आज़माएं:

पीएस: फ़ाइल को बाइंडक के रूप में सहेजना न भूलें

import java.io.*;
class Scan
{        
    public static String S() 
    {
        String x;
    char c;
    boolean erreur;

    do
    {
            x = "";
            erreur = false;

            try
            {
                while((c = (char)System.in.read()) != '\n')
        {
                    if (c != '\r')
                    {
                        x += c;
                    }
                }
            }
            catch(IOException e)
            {
                System.out.print(" > enter String : ");
                erreur = true;
            }
    } while(erreur);

    return x;
    }
public class  bindec{

    public static void main (String[] args) {
        int b=0;
        String a;
        System.out.println("bin: ");
        a = Lire.S();
        int j=a.length()-1;
        for(int i=0;i<a.length() ;i++ ){
            if(a.charAt(i)=='1'){
            b += Math.pow(2,j);
        }
        if(a.charAt(i)=='0'){
            b+=0;
        }
        j=j-1;
    }
        System.out.println("dec: "+b);
    }
}

बाइनरी स्ट्रिंग जैसे कि कैसे परिवर्तित करें

String c = "110010"; // as binary

जावा में दशमलव में मान के लिए? (उदाहरण में अपेक्षित परिणाम 50 है)


झसे आज़माओ

import java.util.Scanner;
public class BinaryToDecimal{

public static void main(String[] args) {

    Scanner input = new Scanner(System.in);
    int binaryNumber = 0;
    int counter = 0;
    int number = 0;


    System.out.print("Input binary number: ");
    binaryNumber = input.nextInt();

    //it's going to stop when the binaryNumber/10 is less than 0
    //example:
    //binaryNumber = 11/10. The result value is 1 when you do the next
    //operation 1/10 . The result value is 0     

    while(binaryNumber != 0)
    {
        //Obtaining the remainder of the division and multiplying it 
        //with the number raised to two

        //adding it up with the previous result

        number += ((binaryNumber % 10)) * Math.pow(2,counter);

        binaryNumber /= 10;  //removing one digit from the binary number

        //Increasing counter 2^0, 2^1, 2^2, 2^3.....
        counter++;

    }
    System.out.println("Decimal number : " + number);


}

}


मुझे लगता है कि आप Integer.parseInt तलाश में हैं। दूसरा तर्क एक रेडिक्स लेता है, जो इस मामले में 2 है।

Integer.parseInt(c, 2)

Integer.parseInt उपयोग करें ( javadoc देखें), जो आपके String को आधार दो का उपयोग करके int परिवर्तित करता है:

int decimalValue = Integer.parseInt(c, 2);

int i = Integer.parseInt(c, 2);

int num = Integer.parseInt("binaryString",2);

public static Long binToDec(String bin) {
long dec = 0L;
    long pow = 1L;
    for (int i = (bin.length() - 1); i >= 0; i--) {
        char c = bin.charAt(i);
        dec = dec + (Long.parseLong(c + "") * pow);
        pow = pow * 2;
    }
    return dec;
}

या

long num = Long.parseLong("101110111",2);

public static int integerfrmbinary(String str){
    double j=0;
    for(int i=0;i<str.length();i++){
        if(str.charAt(i)== '1'){
         j=j+ Math.pow(2,str.length()-1-i);
     }

    }
    return (int) j;
}

कोड का यह टुकड़ा मैंने मैन्युअल रूप से लिखा है। जैसा कि ऊपर वर्णित है आप भी parseInt का उपयोग कर सकते हैं। यह फ़ंक्शन बाइनरी स्ट्रिंग से संबंधित दशमलव मान देगा :)


public static void main(String[] args) {

    java.util.Scanner scan = new java.util.Scanner(System.in);
    long decimalValue = 0;

    System.out.println("Please enter a positive binary number.(Only 1s and 0s)");

    //This reads the input as a String and splits each symbol into 
    //array list
    String element = scan.nextLine();
    String[] array = element.split("");

    //This assigns the length to integer arrys based on actual number of 
    //symbols entered
    int[] numberSplit = new int[array.length];
    int position = array.length - 1; //set beginning position to the end of array

    //This turns String array into Integer array
    for (int i = 0; i < array.length; i++) {
        numberSplit[i] = Integer.parseInt(array[i]);
    }
    //This loop goes from last to first position of an array making
    //calculation where power of 2 is the current loop instance number
    for (int i = 0; i < array.length; i++) {
        if (numberSplit[position] == 1) {
            decimalValue = decimalValue + (long) Math.pow(2, i);
        }
        position--;
    }
    System.out.println(decimalValue);
    main(null);

}




java