저번에 time_t를 struct tm으로 변환하는 함수인 localtime을 배웠습니다. 이번에는 struct tm을 time_t로 바꾸는 함수를 배워봅시다. 그 중 하나는 mktime() 이라는 함수인데요. 이것은 현재 날짜와 시간을 알 때, 1970년 1월 1일부터 현재까지 흐른 시간을 초 단위로 리턴해 주는 함수입니다. [관련글] C언어 localtime 함수 알아봅시다. 혹여나, localtime이라는 함수가 무엇인지 잘 모르신다면 관련글을 먼저 보고 오시는 것도 좋겠습니다. 개략적으로, time_t를 struct tm으로, 다시 struct tm을 time_t로 변환해주는 메서드는 다음과 같습니다. 여태까지 배웠던 것에 의하면 말입니다. 예를 들어서, 현재의 날짜가 1970년 1월 3일 0시 ..
전체 글 검색 결과
C언어에서 정수는 어떻게 표현이 될까요? 결론부터 말하자면, 2의 보수 표현법으로 표시합니다. 그러면 이 표기법이 무엇일까요? 4bit로만 표현되는 정수 데이터가 있다고 해 봅시다. 부호가 있는 정수인 경우, 최상위 비트는 보통 부호를 표시합니다. 이 때 signed bit가 1이면 음수를, 아니라면 양수를 나타냅니다. 만약에 부호 없는 정수형이라면, 4bit를 다 쓰겠지요. 4개의 비트로 표현할 수 있는 상태값은 16개입니다. 수로 따지면 0부터 2^4-1까지입니다. 그런데 하나의 비트를 부호를 위해서 썼으니, 일단 양수에 대해서, 0, 1, 2, 3, 4, 5, 6, 7까지면 표현이 가능하겠군요. 이것들은 각각 2진수로 0부터 7까지를 나타냅니다. 음수일 때가 문제인데요. 이것을 어떻게 표현하면 좋을..
보통 C++의 STL에서는 double list를 많이 쓰는데요. 노드를 가리키는 포인터가 2개입니다. 각각 이전 것과, 다음 것을 가리키고 있습니다. 실제로, 이전 것도 가지고 있으면, 삭제하거나, 들어가야 하는 위치를 안다고 했을 때, 빠르게 자료구조에서 데이터를 삭제하거나, insert를 할 수 있어요. 기준 위치로부터 이전 노드의 주소도 알고 있기 때문입니다. 오늘은 이중 연결 리스트를 구현 해 보도록 하겠습니다. 먼저 node형 구조체는 다음과 같이 선언합니다. 각각, data를 담아두는 필드와, 이전 것 prev, 그리고 next를 가리키는 요소를 저장하고 있습니다. 다음에 head와 tail이 있는데요. 이것은 각각 리스트의 시작 위치와 끝나는 위치를 나타냅니다. 그러면 연결 리스트를 초기화..
Java의 char형은 어떻게 표현이 될까요? Character 클래스에 BYTES 라는 필드가 있는데요. 이 값은 char형 변수가 바이트를 얼마나 쓰는지 나타냅니다. 이 값을 출력해 봅시다. 2가 나와요. 기본적으로 16bit 유니코드 인코딩을 쓰고 있다는 건데요. 이제 이 친구가 어떤 식으로 값을 저장하는지 알아보도록 하겠습니다. '가'라는 문자를 집어 넣어보겠습니다. '가'는 유니코드로 U+AC00에 맵핑이 됩니다. 그러면, ch를 int형으로 변환하여 출력하면, 유니코드가 어떠한 형식으로 디코딩 된 결과를 출력할 겁니다. Integer 클래스 안에 있는 toHexString은 16진수의 문자열로 출력해주는 함수입니다. 봤더니 16진수로 ac00으로 출력이 되었어요. 이 값은 0000에서 ffff..
이전 글에서 절대 경로와 상대 경로를 주구장창 설명한 이유는 pwd 명령어를 설명하기 위해서입니다. 이 명령어는 현재 내가 작업하고 있는 위치를 절대 경로로 출력하는 함수입니다. 그러면 루트를 기준으로 현재 내가 있는 위치를 화면에다가 프린트 할 거에요. 만약에 루트라면, /만 출력을 할 거에요. 루트에는 여러가지 폴더들이 있는데요. 그 중, 저는 home 디렉토리에 들어가 보겠습니다. 그러면 이 안에 chogahui05라는 폴더가 또 있는데요. 이 안으로 들어가면 터미널이 켜졌을 때, 작업 디렉토리가 나타납니다. 저는 /home/chogahui05라는 디렉토리에서 작업을 할 겁니다. 그리고 몇 개의 디렉토리와, 폴더들을 만들 겁니다. 이것을 디렉토리 구조로 나타내면 다음과 같습니다. chogahui05..
최근댓글