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

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

正在回答

4 回答

凌晨來(lái)回答問(wèn)題。

首先我們要弄明白,對(duì)于一個(gè)buf[i], 我們?cè)谑裁辞闆r下需要在輸出之前補(bǔ)0,什么時(shí)候不需要補(bǔ)0.答案很清楚,如果它的高四位都是0,那么我們需要補(bǔ),否則不需要。那么問(wèn)題來(lái)了,怎么判斷呢?

老師的代碼是用buf[i] <= 0xf,可是代碼結(jié)果不正確,會(huì)出現(xiàn)錯(cuò)誤補(bǔ)0,也就是三個(gè)數(shù)字一起的情況。如果buf[i] == 0xff, 那么按程序是需要補(bǔ)0,因?yàn)樽鳛橐粋€(gè)byte,0xff實(shí)際上等于-1, 那么自然也小于0xf,因?yàn)?xf代表15.這就是出錯(cuò)的問(wèn)題。

if判定語(yǔ)句改為((buf&oxff)<=oxf)之后,實(shí)際上結(jié)果就正確了。因?yàn)樵贘ava中整數(shù)默認(rèn)是int,也就是4個(gè)字節(jié)。因?yàn)橛衎uf[i] & 0xff, 注意這里0xff 是4個(gè)字節(jié)的int類(lèi)型,那么計(jì)算之前會(huì)把buf[i]自動(dòng)進(jìn)行類(lèi)型轉(zhuǎn)換,結(jié)果也是int類(lèi)型,所以我們最終的到的結(jié)果是24位0加上原先的8位buf[i]。這時(shí)候的結(jié)果已經(jīng)絕對(duì)是個(gè)正數(shù),此時(shí)要判斷buf[i]高4位是否有1,就看他和0xf的大小就行了。這里要設(shè)計(jì)一點(diǎn)補(bǔ)碼的知識(shí),我們還是以buf[i] == 0xff為例:

((buf&oxff)<=oxf)之后的結(jié)果是0x000000ff, 顯然是大于0xf,所以沒(méi)有補(bǔ)0.

實(shí)際上,我們也可以這么判斷:buf[i] & 0xf0 == 0;這樣的結(jié)果會(huì)保留buf[i]的高四位,其他位都是0,比較容易理解。

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

指尖繁華 提問(wèn)者

非常感謝!
2016-12-20 回復(fù) 有任何疑惑可以回復(fù)我~
#2

未卜先知

“注意這里0xff 是4個(gè)字節(jié)的int類(lèi)型這里不對(duì)把”,0xff應(yīng)該還是一個(gè)字節(jié),只不過(guò)運(yùn)算的時(shí)候會(huì)把參與運(yùn)算的轉(zhuǎn)成int型
2016-12-29 回復(fù) 有任何疑惑可以回復(fù)我~
#3

未卜先知

這里是我錯(cuò)了 0xff確實(shí)是整型
2016-12-29 回復(fù) 有任何疑惑可以回復(fù)我~
#4

i不系之舟i

非常感謝
2017-08-06 回復(fù) 有任何疑惑可以回復(fù)我~
查看1條回復(fù)

if判定語(yǔ)句改為((buf&oxff)<=oxf);之后輸出都是兩位,這個(gè)不知原因,跪求求大神解惑???!

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

還有,int b=in.read()則沒(méi)有以上問(wèn)題;


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

或許不是錯(cuò),但是為啥有三個(gè)數(shù)字一組的,這個(gè)不太懂。

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

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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