2012-07-08 2 views
0

저는 포함 된 파일을 저장하는 fileformat 용 라이브러리를 작성하고 있습니다.가장 가까운 블록 범위 찾기

1 파일의 끝과 다른 파일의 시작 사이의 공백은 고정 크기가 아닙니다. 가장 가까운 상위 0x1000입니다. 예를 들어 File1이 0xAC4654에서 종료되면 File2는 0xAC5000에서 시작합니다.

나는 이것을 계산할 방법을 생각할 수 없다.

답변

2

그냥 가까운가 0x1000로 반올림 할 가정하면, 다음 코드는 충분합니다 : 완벽하게 작동

Math.Ceiling((float)value/0x1000) * 0x1000; 
+0

합니다. 감사! –

+1

2^23 바이트 (8MB)를 초과하면 정밀도가 느슨합니다. 대신에 ((value - 1) | 0xFFF) +1을 사용하십시오. –

관련 문제