第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

想了一晚上沒想出來,求老師解答/(ㄒoㄒ)/~~

http://img1.sycdn.imooc.com//5943f3500001ed5d13660736.jpg請問大家,“慕課”兩個中文字符的每個字節(jié)為什么有32位?不是每個字節(jié)8位嗎?

正在回答

7 回答

因為你轉(zhuǎn)換的結(jié)果是二進制,你現(xiàn)在可能已經(jīng)知道了。

1:byte是8字節(jié)

2:int是32字節(jié)

3:toBinaryString()是將內(nèi)容轉(zhuǎn)換成2進制

由于2個字節(jié)組成一個漢字,而你又是2進制的,所以最終結(jié)果就是:

11111111111111111111111111000100 ? 11111111111111111111111110111101

??

? ? ? ? ? ? ? ? ??

? ? ? ? ?


0 回復(fù) 有任何疑惑可以回復(fù)我~

不用 太計較輸出的內(nèi)容,GBK中一個漢字就是一個字節(jié)(8bit),

Integer.toBinaryString(int);函數(shù)是將一個integer類型整數(shù),轉(zhuǎn)換為無符號2進制數(shù)。

列子中: 轉(zhuǎn)成字節(jié)為:-60 -67

轉(zhuǎn)成java最終能顯示出來的位數(shù)32高位為0補1(雙字節(jié));

結(jié)果為:11111111111111111111111111000100(其中11000100代表-60)? ? 有符號的二進制取補碼的反碼 ????60

0 回復(fù) 有任何疑惑可以回復(fù)我~

我認為是因為每個字節(jié)占八位 ?這里是16進制的 ?也就是八位十六進制的數(shù) ? 每個十六進制的數(shù)轉(zhuǎn)換為二進制是四位

所以轉(zhuǎn)換為二進制就是32位了 ? ?

0 回復(fù) 有任何疑惑可以回復(fù)我~

看一下你的這個java文件是什么編碼。如果是utf-8的話。漢子占3個字節(jié)就是32位

1 回復(fù) 有任何疑惑可以回復(fù)我~

慕課這兩個字轉(zhuǎn)換為字節(jié)后是負的,負的byte自動轉(zhuǎn)換為int是會按符號位擴展,正數(shù)的話是0沒什么影響,負數(shù)是1,你再按老師說的加個&0xff就會將前面的置0了,就成8位的了。前面那節(jié)二進制我現(xiàn)在都很懵逼。

0 回復(fù) 有任何疑惑可以回復(fù)我~

? 你的輸出函數(shù)里面不一樣 ?System.out.println(Integer.toHexString(b));?

在Java中,如果想要把一個十進制整數(shù)轉(zhuǎn)換為十六進制,可以使用Integer.toHexString(int i)方法

0 回復(fù) 有任何疑惑可以回復(fù)我~

關(guān)鍵是漢字根本就是不字節(jié)啊。。。

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

想了一晚上沒想出來,求老師解答/(ㄒoㄒ)/~~

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號