真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java轉(zhuǎn)換進制的代碼 編程轉(zhuǎn)換進制

java十進制轉(zhuǎn)二進制代碼怎么解決?

下面是根據(jù)十進制數(shù)轉(zhuǎn)二進制數(shù)的算法所寫的一段Java程序示例代碼:

網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、微信小程序開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了開陽免費建站歡迎大家使用!

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("十進制數(shù)"+d+"轉(zhuǎn)成二進制數(shù)為:"+s);

}

/**

* 十進制數(shù)轉(zhuǎn)二進制數(shù)

* @param d 十進制數(shù)

* @return 十進制數(shù)轉(zhuǎn)換成二進制的字符串

*/

public String decimal2BinaryStr(double d){

String result = decimal2BinaryStr_Inte(d);

result += decimal2BinaryStr_Deci(d);

return result;

}

/**

* 十進制整數(shù)部分轉(zhuǎn)二進制數(shù)

* @param d 十進制數(shù)

* @return 十進制整數(shù)部分轉(zhuǎn)換成二進制的字符串

*/

public String decimal2BinaryStr_Inte(double d){

// ? ? ?return Integer.toBinaryString((int)d);

/*

* 本來利用上面的Integer.toBinaryString(int)就可以得到整數(shù)部分的二進制結(jié)果,

* 但為了展示十進制轉(zhuǎn)二進制的算法,現(xiàn)選擇以下程序來進行轉(zhuǎn)換

*/

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);

}

/**

* 十進制小數(shù)部分轉(zhuǎn)二進制

* @param d 十進制數(shù)

* @return 十進制小數(shù)部分轉(zhuǎn)換成二進制小數(shù)的字符串

*/

public String decimal2BinaryStr_Deci(double d){

return decimal2BinaryStr_Deci(d, 0);

}

/**

* 十進制小數(shù)部分轉(zhuǎn)二進制

* @param d 十進制數(shù)

* @param scale 小數(shù)部分精確的位數(shù)

* @return 十進制小數(shù)部分轉(zhuǎn)換成二進制小數(shù)的字符串

*/

public String decimal2BinaryStr_Deci(double d, int scale){

double deci = sub(d,(long)d);

if(deci==0){

return "";

}

//為了防止程序因所轉(zhuǎn)換的數(shù)據(jù)轉(zhuǎn)換后的結(jié)果是一個無限循環(huán)的二進制小數(shù),因此給其一個默認的精確度

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 被減數(shù)

* @param v2 減數(shù)

* @return 兩個參數(shù)的差

*/

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();

}

}

例如將十進制數(shù)1234.5轉(zhuǎn)成二進制數(shù)為:0100 1101 0010.1000

求java進制轉(zhuǎn)換代碼

下面是轉(zhuǎn)換的方法

int

n1

=

14;

//十進制轉(zhuǎn)成十六進制:

Integer.toHexString(n1);

//十進制轉(zhuǎn)成八進制

Integer.toOctalString(n1);

//十進制轉(zhuǎn)成二進制

Integer.toBinaryString(12);

//十六進制轉(zhuǎn)成十進制

Integer.valueOf("FFFF",16).toString();

//十六進制轉(zhuǎn)成二進制

Integer.toBinaryString(Integer.valueOf("FFFF",16));

//十六進制轉(zhuǎn)成八進制

Integer.toOctalString(Integer.valueOf("FFFF",16));

//八進制轉(zhuǎn)成十進制

Integer.valueOf("576",8).toString();

//八進制轉(zhuǎn)成二進制

Integer.toBinaryString(Integer.valueOf("23",8));

//八進制轉(zhuǎn)成十六進制

Integer.toHexString(Integer.valueOf("23",8));

//二進制轉(zhuǎn)十進制

Integer.valueOf("0101",2).toString();

//二進制轉(zhuǎn)八進制

Integer.toOctalString(Integer.parseInt("0101",

2));

//二進制轉(zhuǎn)十六進制

Integer.toHexString(Integer.parseInt("0101",

2));

用java編程實現(xiàn)進制轉(zhuǎn)換,本人初學者,希望大佬給個容易看懂的代碼?

import?java.util.Stack;

/**

*?author:?liu?jun?bao

*?date:?2020/2/28

*?desc:

*/

public?class?Test?{

public?static?void?main(String[]?args)?{

Integer?a?=?300;

Integer?b?=?8;

BinaryConversion(a,?b);

}

/**

*

*?@param?a?要轉(zhuǎn)化的十進制數(shù)

*?@param?b?要轉(zhuǎn)化的進制

*??????????該方法輸出轉(zhuǎn)化結(jié)果

*/

private?static?void?BinaryConversion(Integer?a,?Integer?b)?{

Stack?stack?=?new?Stack();

while?(a?!=?0){

stack.push(a%b);

a=a/b;

}

while?(!stack.empty()){

System.out.print(stack.pop());

}

}

}

java代碼實現(xiàn):十進制轉(zhuǎn)換成2進制

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

@SuppressWarnings("unchecked")

public class FileUtil implements Comparator{

public static void main(String[] args) throws Exception{

File file = new File("f:/f1.txt");

BufferedReader br = new BufferedReader(new FileReader(file));

String rl = null;

StringBuffer bf = new StringBuffer();

StringBuffer num2 = null;

int num10 = 0;

while(( rl = br.readLine()) != null)

{

rl = rl.trim();

num10 = Integer.parseInt(rl);

num2 = new StringBuffer();

while(num10 0){

num2.insert(0, num10%2);

num10 /=2;

}

bf.append(num2).append("\r\n");

}

br.close();

BufferedWriter out = new BufferedWriter(new FileWriter(new File("f://f2.txt")));

out.write(bf.toString());

out.flush();

out.close();

}

public int compare(Object a1, Object a2)

{

String s1 = (String)a1;

String s2 = (String)a2;

for(int i=0; i(Math.min(s1.length(), s2.length())); i++)

{

if(s1.charAt(i) s2.charAt(i))

return 1;

else if(s1.charAt(i) s2.charAt(i))

return -1;

}

return s1.length()s2.length()?1:(s1.length()s2.length()?-1:0);

}

}

用JAVA將十進制轉(zhuǎn)換成十六進制

1、用Integer.toHexString方法即可將十進制裝成十六進制。

package com.test;

public class Test {

public static void main(String[] args) {

int i = 123;

System.out.println(Integer.toHexString(i));

}

}

2、運行結(jié)果如下十進制的123轉(zhuǎn)化成十六進制的7b

3、Integer.toHexString方法返回的結(jié)果是字符串。

4、直接表達16進制,在JAVA里面可以在數(shù)字前加"0x",像這樣

int j = 0x7b;

System.out.println(Integer.decode("0x7b"));


本文名稱:java轉(zhuǎn)換進制的代碼 編程轉(zhuǎn)換進制
網(wǎng)址分享:http://weahome.cn/article/hjhdeh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部