Adventure Time - Jake [C, C++] rand()함수의 난수 생성과 OR연산으로 비트수 확장
본문 바로가기
Back-end/c,c++

[C, C++] rand()함수의 난수 생성과 OR연산으로 비트수 확장

by bogyoi 2023. 12. 30.

 

random number는 15비트짜리 난수를 생성한다.

 

따라서 rand를 두 번 호출시킨다면 30비트짜리 난수를 생성할 수 있다.

 

 

U_INT32=((long)rand() << 15)|rand();

첫번째 호출시킨 rand를 왼쪽으로 15비트만큼 shift시키고,

두번째 호출시킨 rand와 OR연산으로 결합시킴으로써 30비트로 만들 수 있게 된다.