중위수식으로 표현된 연산을 후위수식 표기법으로 변경하고 계산해주는 예제 코드 입니다. 전위수식, 중위수식, 후위수식에 대한 설명과 변환 방법등은 아래 게시글을 참고하세요. https://injunech.tistory.com/412 [Stack] 전위수식(prefix), 후위수식(postfix), 중위수식(infix) [Stack] 전위수식(prefix), 후위수식(postfix), 중위수식(infix) 중위수식(Infix) 중위수식은 일반적으로 우리가 수식을 사용할 때 피연산자 사이에 연산자를 표기하는 방식 Ex) 1+3*2+4/2 피연산자(숫자) 사이 injunech.tistory.com 후위수식 변환 및 계산 예제 코드 #include #include #include #define MAX_STACK_..
[Stack] 전위수식(prefix), 후위수식(postfix), 중위수식(infix) 중위수식(Infix) 중위수식은 일반적으로 우리가 수식을 사용할 때 피연산자 사이에 연산자를 표기하는 방식 Ex) 1+3*2+4/2 피연산자(숫자) 사이에 연산자(덧셈, 곱셈, 뺄셈, 나눗셈)가 있는 식을 중위수식(Infix) 이라고 합니다. 하지만 컴퓨터는 직관적으로 연산자의 우선순위에 따라 연산을 수행할 수 없으므로 연산자 우선순위에 따라 계산해주기 위해 Stack 자료구조를 사용하여 prefix, postfix 와 같은 수식으로 변경하여 계산을 해줘야 합니다. 전위수식(Prefix) 전위수식은 연산자가 피연산자 앞에 나오는 방식으로 5+8는 +58라고 표현하는 것입니다. Ex) 1+2*3+1+2/2 => ((1+..
register int 와 int 의 수행속도 차이 비교 C언어든 C++이든 결국 컴파일러를 거치면 어셈블리로 전환이 될 것입니다. 이는 곧 기계어이며 하드웨어와 연관이 있는 언어이므로, 하드웨어와 관련있는 코딩 구문들도 상당수 존재합니다. 그 중 register int 에 대해 확인 해 보도록 하겠습니다. int main() { int tmp1 = 0; int tmp2 = 0; clock_t clk1 = clock(); for (int i = 0; i < 10000; i++) { for (int j = 0; j < 10000; j++) { tmp1 += i; } } cout
GoPro 영상 저장시 파일명 저장 형태가 특이하여 시간기준으로 바꾸어 쉽게 정렬하기 위한 매크로입니다. https://community.gopro.com/t5/ko/GoPro-52852-47700-46972-54028-51068-47749-47749-48169-49885/ta-p/391528 고프로는 Full HD 기준 약 11분 정도의 4G정도씩 파일을 분할하여 저장하는데 GH0100001.mp4 다음에 GH0200001.mp4가 되고 그 다음 새로 찍은 파일은 GH0100002.mp4 다음에 GH0200002.mp4가 되어 버립니다. 문제는 이렇게 되면 일반적인 파일명 순서가 아니기 때문에 윈도우에서 파일명 순으로 정렬해보면 동영상의 순서가 뒤죽박죽이 되어 버립니다. 이러한 난관을 극복하고자 Adv..
지정한 폴더내의 파일명이나 확장자를 일괄로 변경하는 매크로입니다. 윈도우용 유틸리티 중에 Rename-it 라는 프로그램을 자주 쓰는데 그 역할을 대신할 수 있습니다. (사실은 지식인에 답변 올렸다가 완전히 묻혀버렸지만 나중에 쓸 데가 있을 것 같아 올려놓습니다. ) '파일목록가져오기' 버튼을 눌러서 폴더를 지정하면 일단 폴더의 파일을 검색해서 출력합니다. 그 다음 일괄변경시키도록 했습니다. 새로운 파일명에 엑셀 수식을 이용해서 일괄적인 규칙을 부여할 때 유용하겠습니다. 그리고 파일명과 확장자를 분리하였습니다. 예를 들어 파일명 뒤에 "_1" 같은 것을 일괄로 붙여서 변경하는 상황을 가정한다면 수식을 이용해서 D3에 =B3 & "_1" 이런 식으로 바꾸고 아래로 끝까지 드래그해줍니다. 그리고 나서 '이름..