f在16進(jìn)制中表示15,用二進(jìn)制表示即為1111,0xff即為11111111
id>>0*8就是不變動(dòng),再和0xff按位與,就是取得后8位
id>>1*8就是右移8位,再和0xff按位與,實(shí)際就是取得9~16位的數(shù)字
其余的以此類推,仔細(xì)想想其實(shí)不難,但是沒(méi)做解釋一時(shí)間還是反應(yīng)不過(guò)來(lái)其中的含義
id>>0*8就是不變動(dòng),再和0xff按位與,就是取得后8位
id>>1*8就是右移8位,再和0xff按位與,實(shí)際就是取得9~16位的數(shù)字
其余的以此類推,仔細(xì)想想其實(shí)不難,但是沒(méi)做解釋一時(shí)間還是反應(yīng)不過(guò)來(lái)其中的含義
2017-03-03
其中負(fù)數(shù)以其正值的補(bǔ)碼形式表示(2/2)中分析的第二步補(bǔ)碼取反得到原碼應(yīng)該不是這樣寫(xiě)的吧 應(yīng)該是反碼取反得到原碼,11001000是補(bǔ)碼,11000111是反碼,00111000是原碼,是該負(fù)數(shù)的正值
2017-03-01
其實(shí)還是很形象,聽(tīng)起來(lái)比較好理解,為老師點(diǎn)個(gè)贊
2017-03-01
唉,java堅(jiān)持到現(xiàn)在,估計(jì)得去做前端了。暫時(shí)擱置這個(gè)路線了。這個(gè)筆記也沒(méi)寫(xiě)完整。。。
2017-02-27
這樣在將數(shù)組arr[]中的字節(jié)數(shù)值轉(zhuǎn)換為int型
1、arr[0]中存入的是字節(jié) (arr[0] & 0xff) << 0*8 即 11001111
2、再?gòu)?qiáng)制轉(zhuǎn)換為int型數(shù)值 其實(shí)計(jì)算結(jié)果就是(11001111)=206;
3、然后就是rs0+rs1+rs2+rs3=8143;
1、arr[0]中存入的是字節(jié) (arr[0] & 0xff) << 0*8 即 11001111
2、再?gòu)?qiáng)制轉(zhuǎn)換為int型數(shù)值 其實(shí)計(jì)算結(jié)果就是(11001111)=206;
3、然后就是rs0+rs1+rs2+rs3=8143;
2017-02-26
在int型轉(zhuǎn)換為字節(jié)中
1、定義的int型數(shù)id的字節(jié)型數(shù)值按四字節(jié)算(每個(gè)字節(jié)有8位)
2、用和0xff相與的方法得到后八位(低字節(jié)) 即(id>>0*8) & 0xff 此時(shí)得到的是11001111 在將它轉(zhuǎn)換成相應(yīng)的10進(jìn)制數(shù)-49 再將這個(gè)10進(jìn)制數(shù)強(qiáng)制轉(zhuǎn)換(byte)為字節(jié)數(shù)存到arr[]數(shù)組中 即arr[0] = (byte) ((int)(id >> 0*8) & 0xff)
1、定義的int型數(shù)id的字節(jié)型數(shù)值按四字節(jié)算(每個(gè)字節(jié)有8位)
2、用和0xff相與的方法得到后八位(低字節(jié)) 即(id>>0*8) & 0xff 此時(shí)得到的是11001111 在將它轉(zhuǎn)換成相應(yīng)的10進(jìn)制數(shù)-49 再將這個(gè)10進(jìn)制數(shù)強(qiáng)制轉(zhuǎn)換(byte)為字節(jié)數(shù)存到arr[]數(shù)組中 即arr[0] = (byte) ((int)(id >> 0*8) & 0xff)
2017-02-26