본문으로 바로가기
728x90
반응형
SMALL

파일을 슬라이딩 윈도우 하여 5바이트씩 읽힌다.

5바이트씩 잘라서 읽힌 값들은

pearson 함수를 통하여  int 값들로 읽히게 되고 (0,2,5,127..등등등) 

0~127 까지의 int 값 안에서만 형성됨. why? 파일의 차이점 비교를 위해 128 차원으로 파일을 읽도록함

읽힌 여러 값들은 각각이 카운팅 되어 카운팅 된 값들을 128차원 배열에 저장한다.

총 카운팅 된 값들은 컴퓨터가 읽을수 있는 이진법으로 변경해주어야 한다.

단 변경 과정에서 조건이 있다. 

예를 들어 4분위수 를 주어서 

Xi < 1분위수(10)  이면   00 대입

1분위수<Xi<2분위수(20) 이면  01 대입

2분위수<Xi<3분위수(30) 이면  10 대입

3분위수<Xi 이면   11 대입한다.

대입된 값들과 앞에 헤더 값만 붙으면 128차원의 총 해시배열의 모습이 구성된다.

body 값만 diff 함수를 이용하여 파일간의 유사도를 비교할수 있게되는데

서로 뺄셈을 진행하여 나온값들로 두 파일의 유사도를 판단하게 된다.

ex)

if(30>diff) 면 system.out.printf("그 파일은 유사")

if(diff>100) 면 system.out.printf("그 파일은 다른 파일이다")

이런식으로 활용할 수 있게된다. 

728x90
반응형
LIST

'나의 주니어 개발 일기' 카테고리의 다른 글

테스트2  (0) 2020.09.16