導航:首頁 > 編程語言 > 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負數二進制相關的資料

熱點內容
暗黑破壞神3如何下載亞洲伺服器 瀏覽:949
linux中ftp伺服器地址怎麼看 瀏覽:434
ansys命令流do 瀏覽:122
單片機6502 瀏覽:765
自助洗車有什麼app 瀏覽:937
程序員離職率多少 瀏覽:322
程序員那麼可愛電視劇今天沒更新 瀏覽:337
我的世界地形演算法 瀏覽:343
台灣dns的伺服器地址雲空間 瀏覽:288
音樂噴泉軟體要什麼加密狗 瀏覽:501
androidhttpmime 瀏覽:774
威科夫操盤法pdf 瀏覽:981
演算法可以用圖表表示 瀏覽:949
山西太原php 瀏覽:274
常用cmd網路命令 瀏覽:677
hashmap7源碼分析 瀏覽:899
搜索引擎原理技術與系統pdf 瀏覽:362
運動估計演算法python 瀏覽:861
java正則1 瀏覽:539
redhatlinux最新 瀏覽:182