我獲取U盤(pán)的大小 數(shù)據(jù)長(zhǎng)度是8,是對(duì)的 然后讀后面的數(shù)據(jù)依次是:0,1,244,255,0,0,2,0 這怎么計(jì)算呀? 謝謝了
用十六進(jìn)制表示,然后計(jì)算. 前4 個(gè)字節(jié)以高字節(jié)在前組成的雙字?jǐn)?shù)據(jù)是USB存儲(chǔ)設(shè)備的總扇區(qū)數(shù),后4 個(gè)字節(jié)以高字節(jié)在前組成的雙字?jǐn)?shù)據(jù)是每個(gè)扇區(qū)的字節(jié)數(shù),兩個(gè)數(shù)據(jù)相乘的結(jié)果就是以字節(jié)為單位的USB 存儲(chǔ)設(shè)備的總?cè)萘俊? 具體的計(jì)算公式:
printf( "%3d MB\n", (UINT16)( ( (UINT32)( buf[1] ) << 16 | (UINT16)( buf[2] ) << 8 | buf[3] ) >> 11 ) );
你說(shuō)的我在資料上看到了 可是我轉(zhuǎn)了和不轉(zhuǎn)有什么區(qū)別 那幾個(gè)是前四個(gè)字節(jié)? 那幾個(gè)又是后四個(gè)字節(jié)? 0001 F6FF 0000 0200 高手幫我計(jì)算一下吧
是00 01 F4 FF 00 00 02 00 你程序中讀出來(lái)的DATA_BUFFER[1],DATA_BUFFER[2],DATA_BUFFER[3],DATA_BUFFER[4]就是前四個(gè)字節(jié)00 01 F4 FF,DATA_BUFFER[5],DATA_BUFFER[6],DATA_BUFFER[7],DATA_BUFFER[8]是后四個(gè)字節(jié).02表示每扇區(qū)有512字節(jié). 總扇區(qū)數(shù)為0x0001F4FF,總的字節(jié)數(shù)=總扇區(qū)數(shù)乘以每扇區(qū)字節(jié)數(shù)/1024/1024(MB). 容量為62M
謝謝! 有問(wèn)題再請(qǐng)教