「java转进制」进制转换java语言代码
本篇文章给大家谈谈java转进制,以及进制转换java语言代码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java实现:整数进制相互转换
- 2、JAVA编程,请问怎么将十进制数转换成二进制输出,又怎么将二进制数转换成十进制输出?
- 3、java中如何将byte[]里面的数据转换成十六进制?
- 4、java里怎样把文件转换成二进制?
- 5、用JAVA把二进制数转换成十进制数。
- 6、java十进制转二进制代码怎么解决?
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编程,请问怎么将十进制数转换成二进制输出,又怎么将二进制数转换成十进制输出?
1、创建java类,TestNumConv.java;
2、编写java函数,十进制转二进制;
public static void decimalToBinary(int n) {
String str = "";
while (n != 0) {
str = n % 2 + str;
n = n / 2;
}
System.out.println(str);
}
3、编写java函数,二进制转十进制;
public static void binaryToDecimal(String n) {
System.out.println(Integer.parseInt(n, 2));
}
4、在main方法中,分别调用该两个函数,执行结果满足要求;
TestNumConv.decimalToBinary(123);
TestNumConv.binaryToDecimal("11011");
java中如何将byte[]里面的数据转换成十六进制?
方法如下:
/* *
* Convert byte[] to hex string.这里我们可以将byte转换成int,然后利用Integer.toHexString(int)
*来转换成16进制字符串。
* @param src byte[] data
* @return hex string
*/
public static String bytesToHexString(byte[] src){
StringBuilder stringBuilder = new StringBuilder("");
if (src == null || src.length = 0) {
return null;
}
for (int i = 0; i src.length; i++) {
int v = src[i] 0xFF;
String hv = Integer.toHexString(v);
if (hv.length() 2) {
stringBuilder.append(0);
}
stringBuilder.append(hv);
}
return stringBuilder.toString();
}
此方法能将byte[]转化成16进制字符串,
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
java里怎样把文件转换成二进制?
转换文件成为二进制数据并保存的Java代码:
取出数据并还原文件到本地的java代码:
[java] view plain copy//读取数据库二进制文件
public void readerJpg() throws SQLException
{
connection=connectionManager.getconn();//自己连接自己的数据库
String sqlString="select images from save_image where id=4";//从数据库中读出要还原文件的二进制码,这里我读的是自己的数据库id为4的文件
File file=new File("E:\\1.jpg");//本地生成的文件
if(!file.exists())
{
try {
file.createNewFile();
} catch (Exception e) {
e.printStackTrace();
}
}
try {
byte[] Buffer = new byte[4096*5];
statement=connection.prepareStatement(sqlString);
resultSet = statement.executeQuery();
if(resultSet.next())
{
FileOutputStream outputStream = new FileOutputStream(file);
InputStream iStream = resultSet.getBinaryStream("images");//去字段用getBinaryStream()
int size=0;
while((size=iStream.read(Buffer))!=-1)
{
System.out.println(size);
outputStream.write(Buffer,0,size);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
用JAVA把二进制数转换成十进制数。
一楼回答的非常详尽了哈,
就是感觉太多了,
个人觉得,比较常用的就是Integer的parseInt()方法,
使用起来也非常方便:
int a = Integer.parInt("你的二进制数", 2);
java十进制转二进制代码怎么解决?
下面是根据十进制数转二进制数的算法所写的一段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();
}
}
例如将十进制数1234.5转成二进制数为:0100 1101 0010.1000
java转进制的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于进制转换java语言代码、java转进制的信息别忘了在本站进行查找喔。