A. java程序在控制台輸入一個正整數,要求以二進制的形式輸出怎麼做
publicstaticvoidmain(String[]args){
intn=-10;
Stringresult="";
booleanminus=false;
//如果該數字為負數,那麼進行該負數+1之後的絕對值的二進制碼的對應位取反,然後將它保存在result結果中
if(n<0){
minus=true;
n=Math.abs(n+1);
}
while(true){
intremainder=(!minus&&n%2==0)||(minus&&n%2==1)?0:1;
//將余數保存在結果中
result=remainder+result;
n/=2;
if(n==0){
break;
}
}
//判斷是否為負數,如果是負數,那麼前面所有位補1
if(minus){
n=result.length();
for(inti=1;i<=32-n;i++){
result=1+result;
}
}
System.out.println(result);
}
B. (java)編寫程序將一個整數轉為二進制形式輸出
java.lang.Integer這個API包中有進制轉換的函數
public static String toBinaryString(int i)
C. java 如何顯示 二進制
java顯示二進制,主要是使用基本類型的包裝類的tobinaryString類型進行轉換,代碼如下:
packagecom.qiu.lin.he;
importjava.text.ParseException;
publicclassCeshi{
publicstaticvoidmain(String[]args)throwsParseException{
inti=8;
//使用包裝類的toBinaryString轉換成二進制
System.out.println(Integer.toBinaryString(i));
}
}
運行結果如下

D. java中怎麼把一個數做二進制形式輸出
System.out.println(Integer.toBinaryString(i));
System.out.println(Integer.toBinaryString(c));
E. Java二進制顯示 小弟剛學Java 請問如何將文字以二進制格式輸出。。。
public class BinaryTest {
public static void main(String[] args){
String s = "測試";
char[] charArray =s.toCharArray();
for(char c: charArray){
System.out.println(Integer.toBinaryString(c));
}
}
用我的這段代碼就可以了,我已經跑通了
F. 用Java輸入一個十進制,轉換成二進制並輸出
import java.util.Scanner;
public class ReversedBinary {
public static void main(String[] args) {
int number;
Scanner in = new Scanner(System.in);
System.out.println("輸入一個十進制數");
number = in.nextInt();
if (number < 0) {
System.out.println("Error: Not a positive integer");
} else {
System.out.print("Convert to binary is:");
printBinaryform(number);
}
}
private static void printBinaryform(int number) {
int remainder;
if (number <= 1) {
System.out.print(number);
return;
}
remainder = number %2;
printBinaryform(number >> 1);
System.out.print(remainder);
}
}
G. java的數字二進制輸出
要是我肯定先嘗試一下,二進制以B開頭,那就b代表下看咯,不行再去查。
事實也證明是不行的,查了一下,還真沒有二進制的輸出形式。
Integer 類倒是有相應的方法:
static StringtoBinaryString(int i)
以二進制(基數 2)無符號整數形式返回一個整數參數的字元串表示形式。
System.out.print(Integer.toBinaryString(x));
H. java程序在控制台輸入一個正整數,要求以二進制的形式輸出
十進制數如何轉換為二進制數,這在javaAPI 中有一個方法,Integer.toBinaryString( ) 括弧裡面寫上你要轉換的十進制數,這樣可以直接轉換。例如:
publicstaticvoidmain(String[]args){
十進制轉換為二進制
System.out.println(Integer.toBinaryString(10));
}
通過求余,求商,並計算值(例如:把二進制的1010 直接輸成十進制的1010)實現
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
inta=123;//定義一個變數並賦給他一個十進制的值
intremainder;//定義一個變數用於存儲余數
intsum=0;//定義一個變數用於存放和
intk=1;//定義一個變數控制位數
while(a!=0){
remainder=a%10;//對目標數字求余
a/=2;//對目標數字求商
sum=sum+remainder*k;//求和
k*=10;//改變位數
}
System.out.println("10進制的123轉換為2進制結果為:"+sum);
}
但是這種方法存在一個問題:因為int類型是有取值范圍的,如果轉換的二進制數字超出了范圍(例如:10011100110110)這個數字明顯超出了int的取值范圍,這樣我們用int類型的sum進行存儲的時候他就會自動轉換為一個其他的數字。並且這個方法沒有辦法求負數的二進制數。在方法二的基礎上使用字元串對結果集進行存儲
publicstaticvoidmain(String[]args){
intn=-10;
Stringresult="";
booleanminus=false;
//如果該數字為負數,那麼進行該負數+1之後的絕對值的二進制碼的對應位取反,然後將它保存在result結果中
if(n<0){
minus=true;
n=Math.abs(n+1);
}
while(true){
intremainder=(!minus&&n%2==0)||(minus&&n%2==1)?0:1;
//將余數保存在結果中
result=remainder+result;
n/=2;
if(n==0){
break;
}
}
//判斷是否為負數,如果是負數,那麼前面所有位補1
if(minus){
n=result.length();
for(inti=1;i<=32-n;i++){
result=1+result;
}
}
System.out.println(result);
}
用這種方法就能很好解決int類型的越界問題,能解決所有的十進制轉換二進制的問題。
I. 怎麼用 java輸出二進制的23
java進制轉換
java中進行二進制,八進制,十六進制,十進制間進行相互轉換
十進制轉成十六進制:
Integer.toHexString(int i)
十進制轉成八進制
Integer.toOctalString(int i)
十進制轉成二進制
Integer.toBinaryString(int i)
十六進制轉成十進制
Integer.valueOf("FFFF",16).toString()
八進制轉成十進制
Integer.valueOf("876",8).toString()
二進制轉十進制
Integer.valueOf("0101",2).toString()
J. 用java實現輸入兩個二進制數並仍然以二進制輸出其和,不能用先轉十進制相加再轉二進制的方法,請給出代碼
我這個演算法不高,暫時想不到別的方法,你試試吧。
主要是模擬自然語言中的加法運算步驟。
兩個數相加,會得到一個結果,和一個進位的結果,
然後將這個進位的結果後面加0補位,然後再和這個結果相加。如此遞歸,知道進位全部是0為止
publicclass${
publicstaticvoidmain(String[]args){
Strings0="100";//十進制4
Strings1="10100";//十進制20
StringBufferresult=newStringBuffer();
StringBufferjinwei=newStringBuffer();
System.out.println(test(result,jinwei,s0,s1));
}
privatestaticStringtest(StringBufferresult,StringBufferjinwei,Strings0,Strings1){
//沒有進位了就退出
if(s0.length()>0&&s0.indexOf("1")<0){
returns1;
}
//位數補齊
intlen0=s0.length();
intlen1=s1.length();
intminLen=Math.max(len0,len1);
s0=buqi(len0,minLen)+s0;
s1=buqi(len1,minLen)+s1;
for(inti=s0.length()-1;i>=0;i--){
Stringstr0=s0.substring(i,i+1);
Stringstr1=s1.substring(i,i+1);
add(result,jinwei,str0,str1);
}
StringtmpJinwei=jinwei.reverse().toString()+"0";
jinwei.delete(0,jinwei.length());
StringtmpResult=result.reverse().toString();
result.delete(0,result.length());
returntest(result,jinwei,tmpJinwei,tmpResult);
}
privatestaticvoidadd(StringBufferresult,StringBufferjinwei,Stringstr0,Stringstr1){
//00相加為0,不進位
if("0".equals(str0)&&"0".equals(str1)){
result.append("0");
jinwei.append("0");
return;
}
//11相加為0,進位1
if("1".equals(str0)&&"1".equals(str1)){
result.append("0");
jinwei.append("1");
return;
}
//其他情況,相加為1,不進位
result.append("1");
jinwei.append("0");
}
privatestaticStringbuqi(intlen0,intminLen){
Stringtmp="";
for(inti=len0;i<minLen;i++){
tmp+="0";
}
returntmp;
}
}
結果
011000