컴퓨터 사이언스 34

C언어 포인터

포인터메모리 주소를 저장하기 위한 변수포인터 변수를 이용하여 메모리에 직접 접근이 가능하다.** 포인터 변수에는 메모리 시작 번지 주소가 저장됨-> 포인터 타입만 알면 쉽게 추측 가능하기 때문** 포인터 변수의 크기는 64비트 시스템에선 8byte, 32비트 시스템에선 4byte** 포인터를 초기화하지 않고 값을 대입해서는 안 됨-> 아무 메모리 공간에 접근할 경우 문제 발생 가능** 포인터에 0을 대입하는 것은 널 포인터를 의미한다.포인터 변수 선언// 타입 * 변수명;int * pnum;포인터 연산자 ‘&’와 ‘*’피연산자의 주소 값을 반환하는 &연산자& 연산자의 피연산자는 변수여야 함포인터가 가리키는 메모리를 참조하는 *연산자pnum은 포인터 변수를 의미 *pnum은 포인터 변수가 가리키는 변수를 ..

실수 표현법(부동 소수점, 고정 소수점)

고정 소수점이진수에서 소수점 위치를 고정하여 실수를 나타내는 방식 Ex) 32비트 1비트 부호 비트15비트 정수부 비트16비트 소수부 표현## 2.625를 고정 소수점으로 표현한 결과 부호 정수부 실수부0 000 0000 0000 0010 1010 0000 0000 00002.625 => 0000000000000010.1010000000000000장단점장점고정 소수점 방식은 부동 소수점 방식에 비해 표현 방법이 단순하고 속도가 빠름단점표현할 수 있는 범위가 적음정밀도가 낮음-> 표현할 수 있는 범위가 적기 때문부동 소수점소수점의 위치를 이동시킬 수 있는 수 표현 방식부동 소수점 수의 일반적인 형태 N = (-1)^S M * B^ES - 부호, M - 가수 , B -..

Call By Value, Call By Reference Python

파이썬은 모든 것을 객체로 본다.즉, 파이썬은 할당된 값의 종류에 따라 Call By Value가 될 수도, Call By Reference가 될 수 있음.Immutable과 MutableImmtable수정 불가능한 객체int, boolean, float, str, tuple 등등Mutable수정 가능한 객체list, set, dictionary, bytearray, 사용자 정의 클래스Immutable 객체 -> Call By Value## 함수 내에서 인자로 받은 객체의 값을 아무리 변경해도 외부에 선언된 값은 변경되지 않음 def funcA(num) : num += 100a = 100funcA(a)print(a)## 출력 결과## 100 Mutable 객체 -> Call By Reference#..

32비트와 64비트 차이

비트비트란 정보를 표현하는 최소단위를 의미한다.32비트 시스템과 64비트 시스템 차이점1. 데이터 처리 단위 CPU가 한 번에 처리할 수 있는 단위인 워드의 크기가 32비트인 경우 32비트 시스템64비트인 경우 64비트 시스템32비트에 비해 64비트 시스템이 한 번에 더 많은 데이터를 한 번에 처리할 수 있음- 이는 대용량 데이터를 다룰 때 성능 향상으로 이어짐32비트 명령어로 여러 번 실행할 작업을 64비트 명령어로 한 번에 처리하는 경우도 존재- 전체적인 명령어 실행 횟수 감소 2. 메모리 주소 지정32비트 시스템의 경우 2^32(약 4GB)까지의 메모리 주소 지정 가능 64비트 시스템의 경우 2^64(약 18엑사바이트)의 메모리 주소를 이론적으로 지정 가능 3. 레지스터 크기CPU 내부 범용 레지스..