Notice
250x250
Recent Posts
Recent Comments
Link
목록C (2)
넘치게 채우기
INT_MAX를 라이브러리 없이 표현해보자.
int INT_MAX = (unsigned int) -1 >> 1; 본론부터 말하자면, 위와 같다. 1을 4비트 + 부호비트로 표현하면, 00001이다.-1은? 2의 보수를 취하여 11111이다. unsigned로 형변환하면서, MSB인 부호 비트도 수 표현 비트로 바뀌면서, -1은 1이 32개 나열된 비트로 바뀐다.이 값에서 다시 오른쪽 시프트 연산을 하여 최하위 비트를 자르면? 1이 31개 나열된 채로, 2^31-1로 된다. 즉, INT_MAX의 값이 된다.
개발/토막글 모음
2024. 5. 9. 16:37
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cPXoHZ/btsybuPoXKt/nQyqed2HANHbWafi8sESHK/img.png)
프로그램이 실행되기 위해서는, 프로그램이 메모리에 로드가 되어야 합니다. 프로그램에서 쓰이는 변수들을 저장할 메모리도 필요합니다. 컴퓨터의 운영체제는 프로그램의 실행을 위한 다양한 메모리 공간을 제공합니다. 프로그램은 4가지의 메모리 공간을 제공받습니다. 1.코드(code)영역 2.데이터(data)영역 3.스택(stack)영역 4.힙(heap)영역 코드 영역(code) 실행될 프로그램의 코드가 저장되는 영역입니다. 텍스트(code)영역이라고도 불립니다. CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리합니다. 데이터 영역(data) 전역 변수, 정적 변수가 저장됩니다. 데이터 영역은 프로그램의 시작과 함께 할당되며, 프로그램의 종료와 함께 소멸됩니다. 데이터 영역은 세 가지로 나뉩니다: .dat..
컴퓨터과학
2023. 10. 12. 18:47