전체 글 133

[ C ] 어 셈 블 리

어 셈 블 리 어셈블리어 : 기계어에서 한 단계 위의 언어이며 기계어와 함께 단 둘뿐인 저급언어. 인라인 어셈블리를 통하여 직접적으로 어셈블리 언어를 입력하여, 원하는 어셈블리 코드를 짤 수 있지만, 32bit만 가능하다. 그렇기 때문에, 코드를 개발하는 단계에서 어셈블리 명령어가 깔끔하게 나오도록 코드를 짜려고 노력하는 습관을 들어야 한다. CPU 레지스터 레지스터 : CPU 내부에서 처리할 명령어나 연산의 중간 값 등을 일시적으로 기억하는 임시 기억장소. Visual Studio 레지스터 EAX = 00ECC003 eax ( Extended Accumulator Register ) : 산술, 논리 연산에 사용하는 레지스터. EBX = 010B3000 ebx ( Extended Base Register..

[ 공 부 ]/[ C ] 2020.09.26

[ C ] 메모리의 종류 ( 물리적 관점 )

하드 디스크 컴퓨터의 전원이 나간 상태에서도, 저장된 데이터가 지워지지 않는 저장 장치. RAM ( Random Access Memory ) 휘발성 메모리, 하드 디스크에 저장되어 있는 실행 프로그램을 RAM으로 이동시켜 실행. 속도가 느린 하드디스크가 아닌 RAM으로 이동시켜 빈번하게 접근 Cache Memory Cache의 경우 CPU 내부에 존재하기 때문에, 램보다 더 빠른 속도로 ALU의 접근이 가능하다. 램에서 자주 사용되는 데이터를 Cache로 이동시켜 ALU의 빈번한 접근을 돕는다. 프로그래머가 캐시 메모리를 직접 지정할 수 없다. Register ALU의 고속 연산을 돕는 메모리이다. 데이터와 명령어를 저장하는 역할 Flip Clop(각각 16bit의 정보를 저장할 수 있는 것)의 집합. ..

[ 공 부 ]/[ C ] 2020.09.22

[BAEKJOON] 2482번 : 색 상 환

문 제 소 스 코 드 #include constexpr int MOD{ 1'000'000'003 }; int dp[1'001][1'001];// N, K // i번째 칸을 칠하는 경우dp[i-2][j-1] // 안칠 하는 경우dp[i-1][j] // N번째 칸의 경우, // 칠할 경우 1번 칸을 칠해서는 안되고, N-1번 칸도 칠하면 안되기 때문에, // dp[i][j] = dp[i-2][j-1] + dp[i-1][j] int main() { std::ios_base::sync_with_stdio(false); std::cin.tie(NULL); int N, K; std::cin >> N >> K; for (int i = 0; i