十进制转二进制 java 程序_如何把一个十进制数转为二进制数的Java程序?
展開全部
十進制數轉二進制分2部分,整數和小數部分。
1、整數部分
十進制整數轉換為二進制整數采用62616964757a686964616fe59b9ee7ad9431333337616533"除2取余,逆序排列"法。具體做法是:用2整除十進制整數,可以得到一個商和余數;再用2去除商,又會得到一個商和余數,如此進行,直到商為0時為止,然后把先得到的余數作為二進制數的低位有效位,后得到的余數作為二進制數的高位有效位,依次排列起來。
2、小數部分
十進制小數轉換成二進制小數采用"乘2取整,順序排列"法。具體做法是:用2乘十進制小數,可以得到積,將積的整數部分取出,再用2乘余下的小數部分,又得到一個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,此時0或1為二進制的最后一位。或者達到所要求的精度為止。
示例:public?class?ErJinZhi{
public?String?trans(int?zheng){//轉整數部分
String?temp?=?"";
while(zheng!=0){//一直到整數部分為0
temp?=?(zheng%2)+temp;//余數,并且拼接起來
zheng?=?zheng/2;//除2取整
}
return?temp;//余數拼起來后返回
}
public?String?trans(float?xiao){
if(xiao>1){//如果大于1,則有整數部分,出錯了
return?"false";
}
String?temp?=?"";
int?weishu?=?10;????????//小數位數,精度
for(int?i=0;i
xiao*=2;//乘以2
if(xiao>=1){//取整
temp+="1";
xiao?=?xiao-1;//去除整數后取小數
}else{
temp+="0";//取整數位
}
}
return?temp;//返回小數二進制數
}
public?static?void?main(String[]?args){
System.out.println("Please?input:");
Scanner?sc?=?new?Scanner(System.in);
float?n?=?sc.nextFloat();//獲取一個輸入的十進制數
int?zheng?=?(int)n;//取整數部分
float?xiao?=?n-zheng;//取小數部分
String?temp?=?new?ErJinZhi2().trans(zheng);//整數部分轉換成二進制
String?temp2?=?new?ErJinZhi2().trans(xiao);//小數部分轉換成二進制
System.out.println(temp+"."+temp2);//輸出二進制小數
}
}
總結
以上是生活随笔為你收集整理的十进制转二进制 java 程序_如何把一个十进制数转为二进制数的Java程序?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 更改大小写
- 下一篇: java集合框架类_Java集合框架总结