Adventure Time - Jake bogyoi's Dev note
본문 바로가기

전체 글91

캡슐화란? 캡슐화의 장점 - 데이터 추상화, 정보 보호, 정보 은닉 캡슐화란? -데이터와 데이터를 처리하는 멤버 함수를 함께 포함하는 캡슐로 만들어 사용 -멤버함수는 데이터가 항상 정상적인 범위 내에서 유지될 수 있도록 관리 멤버 데이터 : 속성,값. 사용자 정보를 포함, 각 데이터에는 정상적인 범위가 지정되어있음. 멤버 함수: 데이터를 처리하는 기능을 구현. Private: 내부적으로 사용(내부적으로 보호가 되면서 사용가능). 멤버 함수에게만 직접 접근이 허용됨. 클래스 외부에서 private 데이터를 사용하기 위해선 public으로 공개된 인터페이스를 거쳐야함. Public: 외부적으로 사용할수 있게 허용(외부로 공개된 멤버) Friend :클래스의 함수는 아니지만 클래스 안에 있는 정보들을 자기가 직접 접속할 수 있게 허용해주는 것. 시스템이 정의한 객체들만 사용할.. 2024. 1. 1.
time()함수와 performance counter 일반 time()함수의 경우, 초단위 경과시간을 측정하여, 아주 짧은 시간의 경우 측정이 잘 되지 않는 단점이 있다. 그래서 milli, micro단위와 같이 더 작은 단위로 경과시간을 측정할 수 있는 Windows 운영체제의 performance counter를 사용할 수 있다. 이를 사용할 때에는 #include 헤더 파일을 포함시켜야한다. LARGE_INTEGER freq, t_before, t_after; LONGLONG t_diff; double elapsed_time; // . . . 추가 정의 QueryPerformanceFrequency(&freq); //CPU clock의 frequency를 기록 (초당 몇번 계수가 되는지 기록한다.) QueryPerformanceCounter(&t_be.. 2023. 12. 31.
[C, C++] rand()함수의 난수 생성과 OR연산으로 비트수 확장 random number는 15비트짜리 난수를 생성한다. 따라서 rand를 두 번 호출시킨다면 30비트짜리 난수를 생성할 수 있다. U_INT32=((long)rand() 2023. 12. 30.
[C, C++] 실수를 2진수로 변환하는 코드 짜기 | 정수와 소수 이진수 계산법 (재귀함수) 문제[조건] 0 이상의 실수를 입력 받는다. 순환함수를 사용해 2진수로 변환하는 코드를 짜시오.   문제를 풀기 위해, 먼저 이진수 변환하는 방법을 알아보자. 위는 "25.25"라는 10진수를 2진수로 변환하는 방법이다.소수부 같은 경우, 2를 곱해가는데 정수부(색칠한 부분)이 1이 넘으면(2이상) 0으로 바꿔주고 계속 계산해준다.언제까지 계산하느냐? -> 2로 곱한 결과가 1로 딱 나누어떨어졌을 때까지 & 똑같은 소수점이 나올 때까지.!그리고난 후 나온 정수부들(색칠한 부분)을 차례대로 이어주면 된다. 맞게 계산했는지 알고 싶다면 아래의 사이트에서 확인해보면 된다.  2진수 변환기, 정수및 소수 10진수↔2진수 변환 | OurCalc10진수를 2진수로 또는 2진수를 10진수로 직접 손으로 변환하려면 번.. 2023. 12. 28.
구조체와 배열의 차이점 배열은 같은 자료형을 여러개 모아둠 구조체는 서로 다른 자료형들을 모아 묶음으로 사용할 수 있게 해줌. 즉, 배열은 같은 자료형을 여러개 모아둔 것 구조체는 서로 다른 자료형을 묶어서 사용할 수 있다는 것에서 차이가 있다. 또한, 구조체를 여러개 모아 배열로 만든 것을 구조체 배열이라고 한다. 2023. 12. 27.
[C, C++] 최대 담을 수 있는 콩의 개수가 다른 그릇에 콩 공평하게 나누어 주기 문제, 나눗셈 활용 [조건] 콩을 나누어 주는 그릇은 4개이다. 콩의 개수는 1-16개까지로 한정한다. 그릇-1은 최대 콩1개 그릇-2는 최대 콩 3개 그릇-3는 최대 콩 5개 그릇-4는 최대 콩 7개를 담을 수 있다. 가능한 많은 그릇에 콩을 나누어 주도록 한다. 그리고 각각의 그릇에 콩이 몇개인지 출력하도록 한다. 화면은 다음과 같이 구성한다. (그릇번호가 큰 것이 우선순위를 가지도록 콩을 배분) 정답코드: #include #define OFFSET 100 int main(void) { int total_beans, beans1, beans2, beans3, beans4; printf("콩의 개수를 입력하시오 (1-16):"); scanf_s("%d", &total_beans); beans1 = (total_beans .. 2023. 12. 26.