2009-11-15 6 views

답변

0

>> 1은 오른쪽 시프트입니다. 이 경우, intVar의 값을 (효과적으로) 반으로 되돌릴 것입니다 (-ve 숫자가 관련된 일부 경우 제외). 내가 당신의 trainData이 무엇인지 모르겠지만, 우리는 테이블이나 그 반의 행렬을 만들 것이라고 추측합니까?

1

이해할 수없는 부분이 intVar >> 1 인 경우 오른쪽의 값이 1 비트 시프트됩니다. 즉, intVar를 2로 나눕니다.

4

>> 1은 "2로 나누기"라는 저수준 방식 인 "오른쪽 시프트 1"을 의미합니다.

어쩌면 그게 당신이 필요로하는 단서입니까?

+1

서명 된 타입에 대해 MSB를 존중합니다. 만약 unsigned divide라면, 다음과 같은 ('j'와'k')가 같은 것을 돌려 주길 기대합니다 :'int i = 1 << 31; int j = (int) (((uint) i)/2); int k = i >> 1;'. –

관련 문제