random number는 15비트짜리 난수를 생성한다.
따라서 rand를 두 번 호출시킨다면 30비트짜리 난수를 생성할 수 있다.
U_INT32=((long)rand() << 15)|rand();
첫번째 호출시킨 rand를 왼쪽으로 15비트만큼 shift시키고,
두번째 호출시킨 rand와 OR연산으로 결합시킴으로써 30비트로 만들 수 있게 된다.
'Back-end > c,c++' 카테고리의 다른 글
캡슐화란? 캡슐화의 장점 - 데이터 추상화, 정보 보호, 정보 은닉 (0) | 2024.01.01 |
---|---|
time()함수와 performance counter (1) | 2023.12.31 |
[C, C++] 실수를 2진수로 변환하는 코드 짜기 | 정수와 소수 이진수 계산법 (재귀함수) (0) | 2023.12.28 |
구조체와 배열의 차이점 (0) | 2023.12.27 |
[C, C++] 최대 담을 수 있는 콩의 개수가 다른 그릇에 콩 공평하게 나누어 주기 문제, 나눗셈 활용 (1) | 2023.12.26 |