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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

以下案例為什么要將i右移后從高位開(kāi)始寫(xiě)入呢?不是每次從低位開(kāi)始寫(xiě)入嗎?

以下案例為什么要將i右移后從高位開(kāi)始寫(xiě)入呢?不是每次從低位開(kāi)始寫(xiě)入嗎?

int i = 0x7fffffff;

//用write方法每次只能寫(xiě)一個(gè)字節(jié),如果要把i寫(xiě)進(jìn)去就得寫(xiě)4次

raf.write(i >>> 24);//高8位

raf.write(i >>> 16);

raf.write(i >>> 8);

raf.write(i);


正在回答

2 回答

java默認(rèn)的編碼方式是unicode big endian,即大端存儲(chǔ)方式的unicode,具體數(shù)據(jù)的高位字節(jié)存放在低位地址上。關(guān)于大端模式和小端模式可以進(jìn)一步百度。

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

天涯蝶舞 提問(wèn)者

raf.write('A');//只寫(xiě)了一個(gè)字節(jié) System.out.println(raf.getFilePointer()); raf.write('B'); A的二進(jìn)制:00000000 01000001 B的二進(jìn)制:00000000 01000010 這里為什么沒(méi)有對(duì)A和B進(jìn)行右移操作呢?每次寫(xiě)只能寫(xiě)一個(gè)字節(jié),按照大端存儲(chǔ)方式那就全為0了吧?而且右移操作符應(yīng)該是2個(gè)>>吧,怎么他這里有3個(gè)呢?請(qǐng)教!
2016-01-07 回復(fù) 有任何疑惑可以回復(fù)我~
#2

chrt 回復(fù) 天涯蝶舞 提問(wèn)者

,因?yàn)檫@只是演示,char型占兩個(gè)字節(jié),對(duì)'A'來(lái)說(shuō)高八位沒(méi)意義,只存入低八位再取出還是可以解析成'A'。假如你要存入漢字比如說(shuō)"中",就要通過(guò)移位把高八位和低八位都存入,這樣再讀取出來(lái)才能解析成"中"。>>>三個(gè)表示無(wú)符號(hào)右移
2016-01-07 回復(fù) 有任何疑惑可以回復(fù)我~
#3

天涯蝶舞 提問(wèn)者

非常感謝!
2016-01-07 回復(fù) 有任何疑惑可以回復(fù)我~
#4

bryan4it

如果默認(rèn)的是大端存儲(chǔ),那write()應(yīng)該寫(xiě)入的是"A"的高8位?????
2016-01-28 回復(fù) 有任何疑惑可以回復(fù)我~
查看1條回復(fù)

raf.write('A');//只寫(xiě)了一個(gè)字節(jié)

System.out.println(raf.getFilePointer());

raf.write('B');


A的二進(jìn)制:00000000 01000001

B的二進(jìn)制:00000000 01000010


這里為什么沒(méi)有對(duì)A和B進(jìn)行右移操作呢?每次寫(xiě)只能寫(xiě)一個(gè)字節(jié),按照大端存儲(chǔ)方式那就全為0了吧?而且右移操作符應(yīng)該是2個(gè)>>吧,怎么他這里有3個(gè)呢?請(qǐng)教!


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

Darkchaox

A:00000000 01000001前8bit沒(méi)有數(shù)據(jù),所以只需保存后面01000001這8bit; 操作符參考: 移位運(yùn)算符也針對(duì)二進(jìn)制的“位”,它主要包括:左移位運(yùn)算符(<<)、右移位運(yùn)算符(>>>)、帶符號(hào)的右移位運(yùn)算符(>>)。其中: 左移運(yùn)算符用“<<”表示,是將運(yùn)算符左邊的對(duì)象,向左移動(dòng)運(yùn)算符右邊指定的位數(shù),并且在低位補(bǔ)零。 右移運(yùn)算符用符號(hào)“>>>”表示,是將運(yùn)算符左邊的對(duì)象向右移動(dòng)運(yùn)算符右邊指定的位數(shù),并且在高位補(bǔ) 0。 帶符號(hào)的右移運(yùn)算符用符號(hào)“>>”表示,是將運(yùn)算符左邊的運(yùn)算對(duì)象,向右移動(dòng)運(yùn)算符右邊指定的位數(shù)。如果是正數(shù),在高位補(bǔ)零,如果是負(fù)數(shù),則在高位補(bǔ) 1。
2016-03-12 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

以下案例為什么要將i右移后從高位開(kāi)始寫(xiě)入呢?不是每次從低位開(kāi)始寫(xiě)入嗎?

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

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

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