十进制转二进制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();
}
}
运行结果