Ⅰ java中怎麼把二進制數轉為有符號整數
publicstaticvoidmain(String[]args){
inti=-1;
StringbinNum=Integer.toBinaryString(i);
System.out.println(binNum);
intt=Integer.parseUnsignedInt(binNum,2);
System.out.println(t);
}
Ⅱ Java中如何判斷輸入中的整數是否為二進制
你可以將整數轉換成字元串,然後判斷單個字元是不是 0或1
Ⅲ java中怎麼表示二進的整數int a=xxxx;
int x = 123;
String c = Integer.toBinaryString(x);
System.out.println(c);
int d = Integer.parseInt(c, 2);
System.out.println(d);
運行一下上面的代碼
java用String表示二進制,使用toBinaryString將int轉為二進制串
使用parseInt將二進制串轉為int
Ⅳ java程序在控制台輸入一個正整數,要求以二進制的形式輸出
利用JavaAPI直接轉換
十進制數如何轉換為二進制數,這在javaAPI 中有一個方法,Integer.toBinaryString( ) 括弧裡面寫上你要轉換的十進制數,這樣可以直接轉換。例如:
publicstaticvoidmain(String[]args){
十進制轉換為二進制
System.out.println(Integer.toBinaryString(10));
}
通過求余,求商,並計算值(例如:把二進制的1010 直接輸成十進制的1010)實現
publicstaticvoidmain(String[]args){但是這種方法存在一個問題:因為int類型是有取值范圍的,如果轉換的二進制數字超出了范圍(例如:10011100110110)這個數字明顯超出了int的取值范圍,這樣我們用int類型的sum進行存儲的時候他就會自動轉換為一個其他的數字。並且這個方法沒有辦法求負數的二進制數。
//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);
}
在方法二的基礎上使用字元串對結果集進行存儲
publicstaticvoidmain(String[]args){用這種方法就能很好解決int類型的越界問題,能解決所有的十進制轉換二進制的問題。
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);
}
Ⅳ java的數字二進制輸出
首先,java里int是有32位2進制數組成的
我們一般賦值
int
i
=
1;
這個是賦值10進制的數
賦值
2進制要
int
i
=
01;(前面加個0,就表示是2進制數)
賦值16進制(常用)
int
i
=
0x00000001;
(0x表示為16進制數)
3種的值都是1.
要用2進制輸出就是Integer.toBinaryString(i)
拓展:
因為計算機處理位運算速度是非常快的(應該是最快的運算)
所以很多時候,如果有一堆boolean變數需要表示時,
一般只用1個int的數表示,如:
int
i
=
0x0000000f;//表示後4位為1
int
m
=
(i
>>
2)
&
1;
//
其中m就是表示某一位的值,2表示右邊開始數第2位(當然是從第0位開始算的)
這樣就能取具體每一位的值
這種方法在很吃代碼效率的程序中經常遇到
全手打,望支持
Ⅵ java如何把二進制字元串轉成整數
java將二進制裝換成整數,可以使用Integer類的方法,來進行轉換,如下:
Integer.parseInt("80000000",2);
Integer屬於int基本類型的包裝類,可以實現各個類型的互相轉換,還可以輸出成string類型,只需要使用toString()方法。
Ⅶ java中怎麼將整數化成二進制數啊!!!急!!麻煩各位前輩能幫我講解一下
最簡單的就是直接用Integer.toBinaryString(int i),參數 i 就是你要轉的十進制數
Ⅷ 跪求「java中二進制怎麼表示」
java中二進制的表示:
1、Java中定義兩個數,然後分別列印出它們的二進製表示(例如7和-7):
System.out.println("Java二進制7:"+Integer.toBinaryString(7));
System.out.println("Java二進制-7:"+Integer.toBinaryString(-7));
輸出:
Java二進制7: 111
Java二進制-7:
7的二進制就是111
-7轉化二進制的過程:
(1)把-7轉化成7,二進制是 111
(2)Java中對於不滿32位的int二進制自動補齊,所以變成了 (29個0)111
(3)然後取反 (29個1)000
(4)然後加1 (29個1)001
(8)java二進制整數擴展閱讀:
c語言中二進制的轉換:
用函數轉換itoa(值,數組名,進制)
#include<stdio.h>
#include<stdlib.h>
voidmain()
{
char str[8];
inti=8;
itoa(i,str,2);
printf("%s",str);
}
Ⅸ 如何用JAVA編寫一段代碼把整數轉換成2進製表示
十進制到其他進制的轉換
十進制整數轉換成二進制整數,返回結果是一個字元串:
Integer.toBinaryString(int
i);
Ⅹ java中二進制怎麼表示
二進制是計算技術中廣泛採用的一種數制。二進制數據是用0和1兩個數碼來表示的數。它的基數為2,進位規則是「逢二進一」,借位規則是「借一當二」,由18世紀德國數理哲學大師萊布尼茲發現。當前的計算機系統使用的基本上是二進制系統,數據在計算機中主要是以補碼的形式存儲的。計算機中的二進制則是一個非常微小的開關,用「開」來表示1,「關」來表示0。
1、Java中定義兩個數,然後分別列印出它們的二進製表示:
System.out.println("Java二進制7: "+Integer.toBinaryString(7));
System.out.println("Java二進制-7: "+Integer.toBinaryString(-7));
輸出:
Java二進制7:
111
Java二進制-7:
可以看到Java中對於數的表示屬於有符號的,那麼這個是怎麼來的?
7好辦,直接是111
-7轉化二進制的過程:
(1)把-7轉化成7,二進制是
111
(2)Java中對於不滿32位的int二進制自動補齊,所以變成了
(29個0)111
(3)然後取反
(29個1)000
(4)然後加1
(29個1)001
這就是-7的整個轉化過程,那麼現在有一個問題,如果有一個文本文件,每一行有八位二進制,表示的范圍是(0~255),也就是用一個位元組表示的無符號整數,如果現在要把這些二進制轉化成整數存到文件里應該怎麼做?
文件:
line1
11111110
(254)
line2
00000000
(0)
假設用Java讀進了第一行,那麼直接列印出來的值是-2,不符合要求,這時讓-2變254有兩種辦法:
(1)用Java自帶的方法,Byte.toUnsignedInt((byte)
-2)(ps.-2的二進製表示就是line1),這樣列印出來的就是254了
System.out.println(Byte.toUnsignedInt((byte) -2));
輸出:254
第二種方法的原理:
Java中-2的二進製表示:(這個二進制的後八位就是line1,可以直接列印的話Java把其當做了負數
-2)
Java中255的二進製表示:(24個『0』,8個『1』)
做與後變為:
這樣做與後表示的數就是正數了
254。可以想一下,假設每一行用2個位元組表示一個無符號數,那麼可以把每一行變成正整數用方法2怎麼做?
2.Java中的>>和>>>
'>>'
算術右移,向右移左邊補符號位
'>>>'
邏輯右移,向右移左邊補0
System.out.println("Java二進制-7: "+Integer.toBinaryString(-7));
System.out.println("-7>>2: "+Integer.toBinaryString(-7>>2));
System.out.println("-7>>>2: "+Integer.toBinaryString(-7>>>2));輸出:
Java二進制-7:
-7>>2:
-7>>>2: //正常應該這樣(00)左邊的兩個0不顯示