리눅스 C언어 랜덤(무작위) 64 bits 데이터 생성하여 출력하기
기타2020. 11. 15. 04:28
728x90
반응형
C언어를 이용해 랜덤한 데이터를 생성해 출력하는 방법은 다양하다. 그중에서 한 가지 방법은 다음과 같다.
#include <stdio.h>
#include <stdlib.h> // rand()
#include <time.h> // time()
#include <stdint.h> // uint32_t
uint32_t rand_uint32(void) {
uint32_t r = 0;
for (int i = 0; i < 32; i++) {
r = r * 2 + rand() % 2;
}
return r;
}
// 4바이트를 읽어 버퍼의 특정 인덱스에 삽입
void val32_to_buf(char* buf, uint32_t val, uint32_t index) {
buf[index] = val;
buf[index + 1] = val >> 8;
buf[index + 2] = val >> 16;
buf[index + 3] = val >> 24;
}
int main(void) {
FILE* file;
char buf[8];
srand(time(NULL));
while (1) {
uint32_t r1 = rand_uint32();
uint32_t r2 = rand_uint32();
printf("%u\n", r1);
printf("%u\n", r2);
val32_to_buf(buf, r1, 0);
val32_to_buf(buf, r2, 4);
for (int i = 0; i < sizeof(buf); i++) {
printf("%X", buf[i]);
}
printf("\n");
}
}
컴파일 이후에 실행해 보면 다음과 같이 출력되는 것을 확인할 수 있다. 구체적으로 4 bytes 정수형 데이터 2개를 생성한 뒤에 이를 이용하여 64 bits 데이터를 생성해 낸다.
728x90
반응형
'기타' 카테고리의 다른 글
무료 파일 공유 서비스: 미디어파이어(MediaFire) 사용 방법 (0) | 2020.11.15 |
---|---|
Raspberry Pi Zero W를 이용한 USB Gadget Serial 데이터 전송 예제 (0) | 2020.11.15 |
파워포인트(PowerPoint)에서 글꼴(글씨체) 한꺼번에 변경하는 방법 (2) | 2020.11.09 |
카카오톡 오픈채팅 단체 카톡방 만드는 방법 (0) | 2020.11.09 |
Linux HID Gadget Driver를 이용해 나만의 커스텀 HID 장치 만들기 (0) | 2020.10.27 |