当前位置: 首页 > 知识库问答 >
问题:

我不能转换二进制到十进制,十进制到二进制

穆阳炎
2023-03-14
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class BinaryGUI extends BinaryGUIDemo {


        public static void main(String[] args) {
            new BinaryGUI();
        }

        private JFrame frame;
        private JButton button;
        private JTextField text;
        private JTextField text2;
        private String decimalnumber = null;

        public BinaryGUI() {
            
            frame = new JFrame("Conversion!");

            JLabel label = new JLabel("Binary:");
            frame.setLayout(new FlowLayout());
            frame.add(label);

            text = new JTextField(15);
            frame.add(text);

            JLabel label2 = new JLabel("Decimal:");
            frame.add(label2);

            text2 = new JTextField(15);
            frame.add(text2);

            
            button = new JButton("Convert");
            button.addActionListener(new ButtonListener());
            frame.add(button);
            
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setSize(250, 300);
            frame.setLocationRelativeTo(null);
            frame.setVisible(true);
        }

        public void Convert() {
            String binary = text.getText();
            int i;
            for (i = 0; i < binary.length(); i++) {
                char select = binary.charAt(binary.length() - i - 1);
                char number = (char) (select * Math.pow(2, i)); 
                decimalnumber += number;
            }
        }
        public class ButtonListener implements ActionListener {
            public void actionPerformed(ActionEvent e) {
                Convert();
                if (button.getText().equals("Convert")) {
                    text2.setText(decimalnumber);
                    text.getText();
                    text2.getText();
                } else {
                }
            }
        }
    }

我可以运行这个程序,但由于某些原因,它会显示/放置随机字符,而不是二进制的初始值,而且我似乎无法将程序从十进制运行回二进制。我该如何改进这些代码。要明确说明它不会将二进制转换为十进制,我将如何将其转换回十进制转换为二进制,如果有一些代码可以帮助我,将不胜感激。

共有1个答案

田晨
2023-03-14

将二进制转换为十进制:

int deicimal = 12;
String binaryString = Integer.toBinaryString(deicimal);   // it will be "1100"

将十进制转换为二进制:

String binaryString = "1100";  
int decimal = Integer.parseInt(binaryString, 2);  // it will be 12
 类似资料:
  • 本文向大家介绍十进制到二进制转换,包括了十进制到二进制转换的使用技巧和注意事项,需要的朋友参考一下 十进制数字也可以转换为二进制格式。要将十进制数转换为二进制数,我们需要将数字除以2,直到达到0或1。然后,在每一步骤中,其余部分将分开存储以形成相反的二进制等效数。 在此算法中,我们将遵循递归方法。这将帮助我们在不使用堆栈数据结构的情况下解决问题。在实现中,我们知道函数的递归将遵循内部堆栈。我们将使

  • Python3 实例 以下代码用于实现十进制转二进制、八进制、十六进制: # -*- coding: UTF-8 -*- # Filename : test.py # author by : www.runoob.com # 获取用户输入十进制数 dec = int(input("输入数字:")) print("十进制数为:", dec) print("转换为二进制为:", bin(dec

  • 在你学习计算机的过程中,你可能已经接触了二进制。二进制在计算机科学中是很重要的,因为存储在计算机内的所有值都是以 0 和 1 存储的。如果没有能力在二进制数和普通字符串之间转换,我们与计算机之间的交互非常棘手。 整数值是常见的数据项。他们一直用于计算机程序和计算。我们在数学课上学习它们,当然最后用十进制或者基数 10 来表示它们。十进制 $$233_{10}$$ 以及对应的二进制表示 $$1110

  • 我有下面的java代码,它接受RGB颜色的三个双倍值(0和1之间)并将它们转换为十进制格式。我明白了第一个8位如何保存颜色x,第二个8位颜色y...以及如何从结果二进制中获得十进制值。我100%不明白的是为什么我们用255乘以(我知道128 64 32 16 8 4 2 1)。我们到底从用255乘以双倍值得到了什么。它是一个可以存储在8位中的值吗?为什么我们不使用256(一种颜色的可能数量)? 谢

  • 本文向大家介绍科学知识:二进制、八进制、十进制、十六进制转换,包括了科学知识:二进制、八进制、十进制、十六进制转换的使用技巧和注意事项,需要的朋友参考一下 一、 十进制与二进制之间的转换 (1) 十进制转换为二进制,分为整数部分和小数部分 ① 整数部分 方法:除2取余,逆序排列,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为

  • 我想做一个java程序,用户输入一个十进制数,然后它转换成二进制。这是我到目前为止所拥有的,但是当我输入8时,虽然循环只循环一次,只给我0。我知道二进制中的8是1000,所以我不明白我做错了什么。我需要代码变得简单。请帮忙谢谢