난수엔진 배우고있는데
random_device로 객체 생성하고 entropy()함수를 실행할때
하드웨어적인 난수발생장치가 있으면 0이상의 값을 리턴하고
만약 없다면 0의 값을 리턴한다는데 내컴터에서 entropy()함수실행하면 32의 값이 나오거든요
그럼 이건 내 컴터에 물리적인 난수발생장치가 있다는 얘긴데 Cpu에 있는건가요 형님들? ㅇㅅㅇ
여기서 설명하는 물리적인 난수발생장치의 예는
물리 법칙을 이용해서 방사성 동위원소가 붕괴하면서 발생하는 알파 입자를 특정시간동안 헤아리는 장치라던가
역바이어스된 다이오드에서 발생하는 노이즈를 측정해서 난수를 만든다는데 제 컴터에는 그런무지막지한거 없거든요? ㅇㅅㅇ 어떻게된거죠 책설명이 잘못된건가
내 기억으로는 가상의사난수발생기를 만들어주는걸로 알고있는데
그게 그렇다면 그건 소프트웨어적인것이 되는거고 그렇다면 entropy()함수는 0을 리턴해야되자나요? ㅇㅅㅇ
저 친구 말이 맞다 항낭 그런건 아님 - return 0;
우리가 사용하는 CPU는 제대로 된 난수를 못 뽑음
https://en.cppreference.com/w/cpp/numeric/random/random_device/entropy
있는 컴퓨터도 있다
https://en.m.wikipedia.org/wiki/RdRand
- return 0;
나루호도.. ㅇㅅㅇ 먼말인지는 잘모르겟지만 대강 인텔cpu에 칩으로 들어가는 경우도있따는거군요 7700쓰고잇는데 거기에 내장되있따는애긴가..
ㅇㅇ - return 0;