你們照課程byte能轉(zhuǎn)換成long?
老師講的還不錯(cuò),最后那個(gè)long型寫(xiě)的有問(wèn)題,實(shí)際操作byte數(shù)組轉(zhuǎn)換long會(huì)出錯(cuò)。。因?yàn)樵谵D(zhuǎn)換的途中,向左位移的時(shí)候?qū)嶋H還是按int去位移的,int是32位,所以在位移時(shí)應(yīng)該提前將之轉(zhuǎn)換為64位的long,然后左移i*8位就可以了。
long?result=0L;for(int?i=0;i<arr.length;i++){????result+=(long)?(((long)(arr[i]&0xff))<<(i*8)); }
2017-04-16
轉(zhuǎn)化為數(shù)組時(shí)已經(jīng)定義的是8位的數(shù)組,應(yīng)該是沒(méi)問(wèn)題的。問(wèn)題在result定義的是整形,而賦值語(yǔ)句是長(zhǎng)整形,這個(gè)地方會(huì)報(bào)錯(cuò)