java整数转为10进制的简单介绍
本篇文章给大家谈谈java整数转为10进制,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、JAVA编程二进制怎样转换成十进制?
- 2、java怎么把16进制的数转换为10进制的
- 3、java代码 图形用户界面 整数进制转换,输入一个十进制整数
- 4、java实现:整数进制相互转换
- 5、如何用java将一个16进制的数转为单字节的10进制数
JAVA编程二进制怎样转换成十进制?
import java.math.BigDecimal;
public class Test {
public static void main(String[] args) {
Test t = new Test();
double d = 8;
String s = t.decimal2BinaryStr(d);
System.out.println("十进制数"+d+"转成二进制数为:"+s);
}
/**
* 十进制数转二进制数
* @param d 十进制数
* @return 十进制数转换成二进制的字符串
*/
public String decimal2BinaryStr(double d){
String result = decimal2BinaryStr_Inte(d);
result += decimal2BinaryStr_Deci(d);
return result;
}
/**
* 十进制整数部分转二进制数
* @param d 十进制数
* @return 十进制整数部分转换成二进制的字符串
*/
public String decimal2BinaryStr_Inte(double d){
// return Integer.toBinaryString((int)d);
/*
* 本来利用上面的Integer.toBinaryString(int)就可以得到整数部分的二进制结果,
* 但为了展示十进制转二进制的算法,现选择以下程序来进行转换
*/
String result = "";
long inte = (long)d;
int index = 0;
while(true){
result += inte%2;
inte = inte/2;
index++;
if(index%4 == 0){
result+=" ";
}
if(inte==0){
while(index%4!=0){
result+="0";
index++;
}
break;
}
}
char[] c = result.toCharArray();
char[] cc = new char[c.length];
for(int i=c.length; i0; i--){
cc[cc.length-i] = c[i-1];
}
return new String(cc);
}
/**
* 十进制小数部分转二进制
* @param d 十进制数
* @return 十进制小数部分转换成二进制小数的字符串
*/
public String decimal2BinaryStr_Deci(double d){
return decimal2BinaryStr_Deci(d, 0);
}
/**
* 十进制小数部分转二进制
* @param d 十进制数
* @param scale 小数部分精确的位数
* @return 十进制小数部分转换成二进制小数的字符串
*/
public String decimal2BinaryStr_Deci(double d, int scale){
double deci = sub(d,(long)d);
if(deci==0){
return "";
}
//为了防止程序因所转换的数据转换后的结果是一个无限循环的二进制小数,因此给其一个默认的精确度
if(scale==0){
scale = (String.valueOf(deci).length()-2)*4;
}
int index = 0;
StringBuilder inteStr = new StringBuilder();
double tempD = 0.d;
while(true){
if(deci==0 || index==scale){
while(index%4!=0){
inteStr.append("0");
index++;
}
break;
}
if(index==0){
inteStr.append(".");
}
tempD = deci*2;
inteStr.append((int)tempD);
deci = sub(tempD ,(int)tempD);
index++;
if(index%4 == 0){
inteStr.append(" ");
}
}
return inteStr.toString();
}
/**
* 提供精确的减法运算。
* @param v1 被减数
* @param v2 减数
* @return 两个参数的差
*/
public static double sub(double v1, double v2) {
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.subtract(b2).doubleValue();
}
}
java怎么把16进制的数转换为10进制的
使用java.math.BigInteger
构造函数BigInteger(String val, int radix) : 将指定基数的 BigInteger 的字符串表示形式转换为 BigInteger。
new BigInteger("01040000000100000001010000005B94D910DE8F1E41ED66466", 16).toString()即可
java代码 图形用户界面 整数进制转换,输入一个十进制整数
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
public class Test {
public static void main(String[] args) {
JPanel tp = new JPanel(new GridLayout(0, 2));
tp.add(new JLabel("输入10进制数"));
final JTextField tf10 = new JTextField();
tp.add(tf10);
tp.add(new JLabel("2进制"));
final JTextField tf2 = new JTextField();
tp.add(tf2);
tp.add(new JLabel("8进制"));
final JTextField tf8 = new JTextField();
tp.add(tf8);
tp.add(new JLabel("16进制"));
final JTextField tf16 = new JTextField();
tp.add(tf16);
tf10.getDocument().addDocumentListener(new DocumentListener() {
private void check() {
try {
long n = Long.parseLong(tf10.getText());
tf2.setText(Long.toString(n,2));
tf8.setText(Long.toString(n,8));
tf16.setText(Long.toString(n,16));
} catch (Exception ex) {
tf2.setText("ERR.");
tf8.setText("ERR.");
tf16.setText("ERR.");
}
}
@Override
public void insertUpdate(DocumentEvent e) {
check();
}
@Override
public void removeUpdate(DocumentEvent e) {
check();
}
@Override
public void changedUpdate(DocumentEvent e) {
check();
}
});
JFrame tf = new JFrame();
tf.setSize(500, 200);
tf.add(tp);
tf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tf.setVisible(true);
}
}
上代码
java实现:整数进制相互转换
java实现:整数进制相互转换的方法:
十进制转为二进制、八进制、十六进制, 用 Integer.toXXXString()方法
(1)十进制转为二进制: Integer.toBinaryString(int i);
public static String toBinaryString(int i):以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。
(2)十进制转为8进制 :Integer.toOctalString(int i);
public static String toOctalString(int i):以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。
(3)十进制转为16进制: Integer.toHexString(int i);
public static String toHexString(int i):以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。
举例:
String bin = Integer.toBinaryString(10);
String oct = Integer.toOctalString(10);
String hex = Integer.toHexString(10);
2.十六进制、八进制、二进制转为十进制(有两种方法):parseInt() 和valueOf()。
Integer.parseInt(String s,int radix);
public static int parseInt(String s,int radix) throws NumberFormatException{}使用第二个参数作为指定的基数,将字符串参数解析为有符号的整数;
Integer.valueOf(String s,int radix);
public static Integer valueOf(String s, int radix) throws NumberFormatException{}返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。
举例:
try{
int i = Integer.parseInt("a", 16);
//输出为10进制数10
System.out.println(i);
}catch (Exception e){
e.printStackTrace();
}
try{
//十六进制转成十进制
String hex = Integer.valueOf("FFFF",16).toString();
System.out.println(hex);
//八进制转成十进制
String oct = Integer.valueOf("12",8).toString();
System.out.println(oct);
//二进制转十进制
String bin = Integer.valueOf("0101",2).toString();
System.out.println(bin);
}catch (Exception e){
e.printStackTrace();
}
如何用java将一个16进制的数转为单字节的10进制数
十六进制转十进制最简单的方法
System.out.println(Integer.valueOf(0x10,16));
16
扩展
十进制转二进制、八进制、十六进制
System.out.println("10的二进制="+Integer.toBinaryString(10));
System.out.println("10的八进制="+Integer.toOctalString(10));
System.out.println("10的十六进制="+Integer.toHexString(10));
10的二进制=1010
10的八进制=12
10的十六进制=a
java整数转为10进制的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、java整数转为10进制的信息别忘了在本站进行查找喔。