導航:首頁 > 編程語言 > java負數二進制

java負數二進制

發布時間:2024-05-06 17:37:56

1. java里用Integer.parseInt()把負數的二進制轉化十進制會拋異常怎麼辦,有什麼辦法能轉化

Integer.parseInt(String s, int radix) 這個方法本身就不能轉負數,只能轉正數。如果你想轉換-1,那隻能是 Integer.parseInt("-1",2),同理,轉-123,只能 Integer.parseInt("-1111011",2),即在本身正數對應2進制之前加一個「-」號。

對於「已知一個負整數的二進制數,求這個數的十進制數」這類問題的話,那麼方法如下:
對字元串操作,取反碼,然後再按照上文所述方式轉換,就可以得到所求負數+1,再-1,就可以得到所求負數

記得給分呦,親~~~~

2. 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不顯示

3. java 浜岃繘鍒惰〃紺 0b鍚庨潰棣栦綅鏄1鐨勮瘽鏄璐熸暟鍚

0b11101001
姝eソ8浣嶄竴涓瀛楄妭錛岀涓涓浣嶆槸絎﹀彿浣嶃
鏁村瀷鏁板湪璁$畻鏈轟腑鐢ㄨˉ鐮佸瓨鍌ㄧ殑銆
鎵浠ョ敱琛ョ爜11101001奼傚師鐮
錛堣礋鏁版眰鍘熺爜闄や簡絎﹀彿浣嶏紝鍏朵粬浣嶄緷嬈″彇鍙嶆渶鍚庡姞涓錛屾垨鑰呭厛鍑忎竴鍐嶅彇鍙嶏紝緇撴灉涓鏍風殑錛
寰楀埌鍘熺爜10010111 灝辨槸 -23銆

4. 璁$畻鏈轟腑璐熸暟鐨勪簩榪涘埗琛ㄧず鏂規硶

璁$畻鏈轟腑閫氬父浣跨敤琛ョ爜鏉ヨ〃紺烘暟鍊礆紝濡傛灉浣犲規ゆ湁鐤戦棶錛屼笉濡ㄦ煡闃呬竴涓嬬櫨搴︾櫨縐戠殑鐩稿叧瑙i噴錛歨ttp錛滐紱錛沚aike錛歜ai錛歝om錛泇iew錛377340錛歨tm銆傞偅涔堬紝濡備綍灝嗚礋鏁拌漿鎹涓轟簩榪涘埗鍛錛熷叾瀹炲緢綆鍗曪紝鍙闇灝嗗叾鐩稿弽鏁扮殑琛ョ爜鍙樺弽錛岀劧鍚庡姞1鍗沖彲銆
🔢紜瀹氫簩榪涘埗浣嶆暟
棣栧厛錛岀『瀹氫簩榪涘埗浣嶆暟錛屼緥濡16浣嶏紝榪欐牱灝辮兘琛ㄧず-32768鍒32767鐨勬墍鏈夊嶮榪涘埗鏁存暟銆
🔙鐩稿弽鏁扮殑琛ョ爜鍙樺弽
灝嗚礋鏁扮殑鐩稿弽鏁扮殑琛ョ爜鍙樺弽錛屽緱鍒扮殑灝辨槸璐熸暟鐨勪簩榪涘埗琛ㄧず銆備緥濡傦紝-1鐨勭浉鍙嶆暟鏄1錛岀敤浜岃繘鍒惰〃紺轟負0000 0000 0000 0001錛堝嶮鍏榪涘埗涓0x0001錛夛紝灝嗗叾鍙樺弽寰楀埌1111 1111 1111 1110錛堝嶮鍏榪涘埗涓0xFFFE錛夈
➕鍔1
鏈鍚庯紝緇欏彉鍙嶅悗鐨勬暟鍊煎姞1錛屽緱鍒-1鐨勪簩榪涘埗琛ㄧず涓1111 1111 1111 1111錛堝嶮鍏榪涘埗涓0xFFFF錛夈傚叾浠栧湪16浣嶄簩榪涘埗琛ㄧず鑼冨洿鍐呯殑璐熸暟涔熷彲浠ユ寜鐓ц繖涓鏂規硶璁$畻銆
📝璁頒綇涓ょ偣
璁頒綇涓ょ偣錛氫竴鏄浜岃繘鍒剁殑浣嶆暟鍙婂叾鑳借〃紺虹殑鍗佽繘鍒舵暟鐨勮寖鍥達紱浜屾槸浜岃繘鍒舵暟鐮佸彉鍙嶅姞涓鐨勮繃紼嬨傝繖鏍鳳紝浣犲氨鑳借交鏉懼皢璐熸暟杞鎹涓轟簩榪涘埗浜嗭紒

閱讀全文

與java負數二進制相關的資料

熱點內容
exe在線反編譯工具 瀏覽:365
imbatest命令 瀏覽:410
android自動連接指定wifi 瀏覽:491
用紙做超簡單又解壓的東西 瀏覽:596
國密2演算法是對稱的嗎 瀏覽:465
nc65伺服器地址配置 瀏覽:522
單片機實驗報告電子琴 瀏覽:744
程序員恢復微信文件代碼 瀏覽:517
有漁python 瀏覽:81
pdf字體加深 瀏覽:206
怎麼做一個minecraft伺服器 瀏覽:771
c語言實現ls命令 瀏覽:663
小洋糕解壓視頻 瀏覽:450
域名內網訪問內網伺服器地址 瀏覽:138
我的世界伺服器如何摳掉金幣 瀏覽:223
域名與ip地址通過什麼伺服器查 瀏覽:96
企業網站需要什麼雲伺服器配置 瀏覽:910
遼事通伺服器出現錯誤是什麼原因 瀏覽:766
能否將一個表格的子表加密 瀏覽:64
手機ios微信收藏怎麼加密 瀏覽:594