亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么字節以不同大小打印為位數組

為什么字節以不同大小打印為位數組

呼喚遠方 2021-11-03 14:22:22
我想以位串形式打印我的字節。我找到了方法String s = String.format("%8s", Integer.toBinaryString(headerArr[bytenumber])).replace(' ', '0');System.out.println(s);但我得到了超級奇怪的輸出:1111111111111111111111111111111100001111111111111111111111111111111111100000011111111111111111111111111111111100000000111111111111111111111111111111100000000001111111111111111111111111111100001111111111111111111111111111111111111111111111111111111111100000011111111111111111111111111111111100000000111111111111111111111111111111100000000001111100001111000011100000011000000100我怎么可能收到不同的位串表示?
查看完整描述

1 回答

?
30秒到達戰場

TA貢獻1828條經驗 獲得超6個贊

的文檔Integer.toBinaryString狀態

如果參數為負,則無符號整數值是參數加上 2^32

改用

Integer.toBinaryString(headerArr[bytenumber] & 0xff);

String.format("%8s", s)確實從來沒有縮短的字符串s。如果s少于 8 個字符,它只會在前面加上空格。


查看完整回答
反對 回復 2021-11-03
  • 1 回答
  • 0 關注
  • 143 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號