十進制轉二進制java
A. java中的十進制轉換為二進制
public class test {
public static void main(String[] args) {
String m = Integer.toBinaryString(120);
System.out.println(m);
}
}
--------------------------------
public class test {
public static void main(String[] args) {
int m = 13;
String s = "";
while (m > 0) {
s = m % 2 + s;
m = m / 2;
}
System.out.println(s);
}
}
B. 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);
/*
C. java中如何將十進制數字轉化成二進制
如果表達小於2^31-1的正數代碼如下:
public void binaryToDecimal(int n){
int t = 0; //用來記錄位數
int bin = 0; //用來記錄最後的二進制數
int r = 0; //用來存儲余數
while(n != 0){
r = n % 2;
n = n / 2;
bin += r * Math().pow(10,t);
t++;
}
System.out.println(bin);
}
使用字元串的拼接(+)來實現大於2^31-1的數,代碼如下:
public void binaryToDecimal(int n){
String str = "";
while(n!=0){
str = n%2+str;
n = n/2;
}
System.out.println(str);
}
可以右移後再與0x01進行&運算得到第一位的數字判斷判斷它的第幾位上是0,第幾位上是1,代碼如下:
class ByteMove
{
public static void main(String[] args)
{
int i = 7;
move(i);
}
static void move(int num){
for(int i= 0;i<6;i++){
System.out.println("第"+(i+1)+"位:" + (num >> i & 0x01));
}
}
}
D. 用java寫一個 十進制轉為二進制的程序
將十進制轉換成二進制的演算法如下:
1.給定一個數;
2.根據十進制轉換二進制的思想:把這個數除以2若為單數則為1,為偶數則為0,直到最後一個數為1為止。所以我們要做的就是用你給定的這個數除以2,如果結果為奇數則r=1,否則r=0;如此循環下去,直到這個數〉=1。
3.然後把r的值送到一個數組裡面。最後把這個數組裡面的內容從後面列印出來就可以了。
import java.util.Scanner;
public class Hi {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("請輸入一個十進制需要轉換為二進制的正整數");
int n=sc.nextInt();
int r;
int i=0;
int[] a=new int[20];
do{
if(n%2==1)
r=1;
else
r=0;
a[i]=r;
n/=2;
i++;
}while(n>0);
System.out.println("十進制轉換為二進制後:");
for(int j=i-1;j>=0;j--){
System.out.print(a[j]);
}
}
}
E. 如何把一個十進制數轉為二進制數的Java程序
十進制數轉二進制分2部分,整數和小數部分。
1、整數部分
十進制整數轉換為二進制整數採用"除2取余,逆序排列"法。具體做法是:用2整除十進制整數,可以得到一個商和余數;再用2去除商,又會得到一個商和余數,如此進行,直到商為0時為止,然後把先得到的余數作為二進制數的低位有效位,後得到的余數作為二進制數的高位有效位,依次排列起來。
2、小數部分
十進制小數轉換成二進制小數採用"乘2取整,順序排列"法。具體做法是:用2乘十進制小數,可以得到積,將積的整數部分取出,再用2乘餘下的小數部分,又得到一個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,此時0或1為二進制的最後一位。或者達到所要求的精度為止。
示例:
publicclassErJinZhi{
publicStringtrans(intzheng){//轉整數部分
Stringtemp="";
while(zheng!=0){//一直到整數部分為0
temp=(zheng%2)+temp;//余數,並且拼接起來
zheng=zheng/2;//除2取整
}
returntemp;//余數拼起來後返回
}
publicStringtrans(floatxiao){
if(xiao>1){//如果大於1,則有整數部分,出錯了
return"false";
}
Stringtemp="";
intweishu=10;//小數位數,精度
for(inti=0;i<weishu;i++){
xiao*=2;//乘以2
if(xiao>=1){//取整
temp+="1";
xiao=xiao-1;//去除整數後取小數
}else{
temp+="0";//取整數位
}
}
returntemp;//返回小數二進制數
}publicstaticvoidmain(String[]args){
System.out.println("Pleaseinput:");
Scannersc=newScanner(System.in);
floatn=sc.nextFloat();//獲取一個輸入的十進制數
intzheng=(int)n;//取整數部分
floatxiao=n-zheng;//取小數部分
Stringtemp=newErJinZhi2().trans(zheng);//整數部分轉換成二進制
Stringtemp2=newErJinZhi2().trans(xiao);//小數部分轉換成二進制
System.out.println(temp+"."+temp2);//輸出二進制小數
}
}
F. JAVA 十進制如何轉化為二進制
前面那個/*---------*/填入
i=toBinary(n);
後面那個/*---------*/
填入
public static int toBinary(int x){
int i = Integer.valueOf(Integer.toBinaryString(x));
System.out.println("十進制數:"+x+"\n轉換為二進制數後為:"+i);
return i;
}
G. JAVA程序設計 十進制轉成二進制
publicclassTest{
publicstaticvoidmain(String[]args){
Strings="";//轉換後的二進制數
intht[][]=newint[3][3];
inta;
intb;
Scannerin=newScanner(System.in);
System.out.println("請輸入你要轉換的數(0~511)");
b=in.nextInt();
if(b==0){
s="0";
}
while(b!=0){
a=b%2;
b=b/2;
s=a+","+s;
}
Stringtemp[]=s.split(",");
intlen=8-temp.length;
for(inti=0;i<3;i++){
for(intj=0;j<3;j++){
if(i*3+j<=len)
ht[i][j]=0;
else{
intindex=i*3+j-len-1;
ht[i][j]=Integer.parseInt(temp[index]);
}
if(ht[i][j]==0)
System.out.print("H ");
elseif(ht[i][j]==1)
System.out.print("T ");
}
System.out.println();
}
}
運行結果