导航:首页 > 编程语言 > java十进制转二进制算法

java十进制转二进制算法

发布时间:2021-02-20 12:55:48

java题: 用户输入一个十进制数,转换成二进制数后输出

import java.util.*;

public class Test {

public static void main(String[] args) {
Scanner san = new Scanner(System.in);
int aint = 0;
System.out.print("请输入一个整数: ");
aint = san.nextInt();
System.out.println(aint + "的二进制内表示容为: " + Integer.toBinaryString(aint));
}

}

❷ JAVA中的十进制如何转换为二进制

十进制转成二进制Integer.toBinaryString(int i) 。

例子专:属

public class Test{
public static void main(String args[]){

int i=100;
String binStr=Integer.toBinaryString(i);
String otcStr=Integer.toOctalString(i);
String hexStr=Integer.toHexString(i);
System.out.println(binStr);

❸ Java中实现十进制转为二进制算法

加一句num /= 2;

❹ JAVA编程,请问怎么将十进制数转换成二进制输出,又怎么将二进制数转换成十进制输出

1、创建java类,TestNumConv.java;

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

}

}

}

❻ JAVA中的十进制转换为二进制

public class tobin {
public static void main(String[] args) {
int x = 17;//转换前的十进制数
int num=0;
for(int y=x;y!=0;num++)y=y/2;//计算回转换后二进制数的位数
int[] bin = new int[num];//转换后的答二进制数
for(int i=num-1,y=x;i>=0;i--){
bin[i]=y%2;
y=y/2;
}
for(int i=0;i<num;i++)
System.out.print(bin[i]);
}
}

❼ 编写一个Java程序,将十进制数(double型)转换为二进制数的字符串

double型转二进制字符串涉及到小数部分,没法像Integer那样直接转,底下是一个转换类

publicclassTest{
publicstaticvoidmain(String[]args){
Testt=newTest();
doubled=8;
Strings=t.decimal2BinaryStr(d);
System.out.println("十进制数"+d+"转成二进制数为:"+s);
}
/**
*十进制数转二进制数
*@paramd十进制数
*@return十进制数转换成二进制的字符串
*/
publicStringdecimal2BinaryStr(doubled){
Stringresult=decimal2BinaryStr_Inte(d);
result+=decimal2BinaryStr_Deci(d);
returnresult;
}

/**
*十进制整数部分转二进制数
*@paramd十进制数
*@return十进制整数部分转换成二进制的字符串
*/
publicStringdecimal2BinaryStr_Inte(doubled){
//returnInteger.toBinaryString((int)d);
/*
*本来利用上面的Integer.toBinaryString(int)就可以得到整数部分的二进制结果,
*但为了展示十进制转二进制的算法,现选择以下程序来进行转换
*/
Stringresult="";
longinte=(long)d;
intindex=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=newchar[c.length];
for(inti=c.length;i>0;i--){
cc[cc.length-i]=c[i-1];
}
returnnewString(cc);
}

/**
*十进制小数部分转二进制
*@paramd十进制数
*@return十进制小数部分转换成二进制小数的字符串
*/
publicStringdecimal2BinaryStr_Deci(doubled){
returndecimal2BinaryStr_Deci(d,0);
}

/**
*十进制小数部分转二进制
*@paramd十进制数
*@paramscale小数部分精确的位数
*@return十进制小数部分转换成二进制小数的字符串
*/
publicStringdecimal2BinaryStr_Deci(doubled,intscale){
doubledeci=sub(d,(long)d);
if(deci==0){
return"";
}
//为了防止程序因所转换的数据转换后的结果是一个无限循环的二进制小数,因此给其一个默认的精确度
if(scale==0){
scale=(String.valueOf(deci).length()-2)*4;
}
intindex=0;
StringBuilderinteStr=newStringBuilder();
doubletempD=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("");
}
}
returninteStr.toString();
}


/**
*提供精确的减法运算。
*@paramv1被减数
*@paramv2减数
*@return两个参数的差
*/
publicstaticdoublesub(doublev1,doublev2){
BigDecimalb1=newBigDecimal(Double.toString(v1));
BigDecimalb2=newBigDecimal(Double.toString(v2));
returnb1.subtract(b2).doubleValue();
}
}

❽ 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);
/*

阅读全文

与java十进制转二进制算法相关的资料

热点内容
什么是rt编程 浏览:97
河北干部网络培训学院 浏览:124
为什么百度互联必须用原厂数据线 浏览:386
征地审批文件有哪些 浏览:524
小度app网盘如何绑定手机 浏览:767
为何路由器连上没网络连接不上去 浏览:891
地区手机接码app哪个靠谱 浏览:714
win10系统安装硬盘MBR 浏览:785
金融专业用什么编程 浏览:478
怎么强行删除u盘文件 浏览:943
win10桌面与文档公用了文件夹 浏览:826
移动网络限制怎么解除 浏览:33
安卓60sd卡损坏 浏览:758
身边哪些地方使用了网络 浏览:720
ps半调做点状效果教程 浏览:134
金昌软件找不到文件 浏览:139
怎么共享自己电脑文件 浏览:980
什么app是好省 浏览:874
miui8桌面文件夹退出 浏览:30
win10edge扩展 浏览:483

友情链接