개발 노트/기초 지식42 에라토스테네스의 체, 소수판별법 에라토스테네스의 체 소수를 걸러내는 방법, 소수의 배수(합성수)들을 하나씩 지워나가 남는 것들은 소수라는 결론에 도달하는 방식이다 소수 판별법 소수는 1 과 자기 자신으로만 나누어 떨어지므로, n 이하의 모든 자연수를 대입하여 1외에 수로 나누어 떨어지는지 확인하면 되지만 모두 계산할 필요없이 n의 제곱근 이하의 값이 1외의 수로 나누어 떨어지는지 확인하면 된다 왜냐하면 n 이 소수가 아닌 합성수라면, n = a * b 로 나타낼 수 있는데(a,b는 1외의 자연수) a와 b는 모두 n의 제곱근 이하의 값을 가지므로, n의 제곱근에서 나누어지는 수(a와 b) 가 있는지만 확인하면 소수인지 아닌지를 구분 가능한것이다. 제곱근 n이하에서 나누어 떨어지면 합성수, 나누어 떨어지지 않으면 그 수는 소수이다 2022. 6. 10. CS50 - 포인터의 크기와 메모리의 크기의 관계는? 아래는 CS50 포인터 강의를 듣고 생각해보기 질문에 내가 작성한 댓글이다. 개념을 잊지 않도록 적어두자 생각해보기 - 포인터의 크기는 메모리의 크기와 어떤 관계가 있을까요? 나의 답: 주소값을 표현하는 방법은 32bit 63bit 등등 으로 운영체제마다 다르다. 포인터는 메모리의 주소값를 가리켜서 저장하기 때문에 이 주소값을 온전히 저장할 만큼의 크기를 가져야한다 때문에 운영체제에 따라 포인터의 크기는 다르게 정해진다고 할 수 있다 포인터 크기가 작으면 메모리 주소값을 모두 표현 못하므로 포인터로 표현 가능한 주소값의 크기를 넘지않는 메모리만 사용가능하다 . 더 큰 용량의 메모리를 사용하여도 그 메모리의 주소를 가리킬 숫자가 없으니 자원으로 쓸 수 없는것이다 하지만 포인터 크기가 크다면 메모리의 주소값.. 2022. 6. 6. assemble, 어셈블리어 assemble 모으다, 짜맞추다, 조립하다, 집합하다 이전에 공부하며 컴파일 후에 컴파일 된 파일로 저장되었다가 기계어로 변환된다고 공부했었다 https://tokkic.tistory.com/6 parse 와 compile parse 와 compile parse 와 compile 을 영어사전에서 해석한 것으로 이해하면 쉽다 parse : (문장을 문법적으로) 분석하다 parsing 은 우리가 입력한 프로그래밍 언어를 의역없이 기계어로 바꾸는 과정이다. tokkic.tistory.com "컴파일(compile)은 parsing 된 것을 모아서 기계어 문법에 맞도록 순서를 배치하는 것이다" 라고 했었는데 컴파일 한 결과물도 바로 바이너리(2진수)로 저장되는 것이 아니었다! 난 그런줄 알았다! cpu를 제어.. 2022. 6. 4. call by value, call by reference 값에 의한 전달(call by value) call by value 는 인수로 전달되는 변수가 가진 값을 함수 내의 매개변수에 복사하는 방식이다 이렇게 복사된 값으로 초기화된 매개변수는 인수로 전달된 변수와는 완전히 별개의 변수가 된다. 따라서 함수 내에서의 매개변수 조작은 인수로 전달되는 변수에 아무런 영향을 미치지 않는다 매개변수로 값을 넣으면 함수에서 인자로 쓰일순있으나 함수 밖의 변수에 값을 변화시키지 못한다는 말이다 참조에 의한 전달(call by reference) call by reference는 인수로 변수의 값을 전달하는 것이 아닌, 해당 변수의 주소값을 전달한다. 즉 함수의 매개변수에 인수로 전달된 변수의 원래 주소값을 저장하는 것이다. 이 방식을 사용하면 인수로 전달된 변수의 값을 함.. 2022. 6. 3. 이전 1 2 3 4 5 6 7 ··· 11 다음