본문 바로가기
반응형

C 강의4

[C언어] 실수형 변수의 출력 범위 - 코드 119 1. 실수형 변수의 출력 범위 double 형으로 선언한 변수는 소수 16째 자리까지만 유효한 값으로 출력됨. printf("double형 출력 = %.16f", 0.123456789012345678); >> double형 출력 = 0.1234567890123457 소수 16째 자리까지만 출력되며, 출력된 값은 입력한 17째 자리에서 반올림 한 결과임. 만약 %.6f로 설정했다면, 7째 자리에서 반올림하여 6째 자리까지 출력됨(0.123457) 또는 16보다 큰 숫자를 입력한다면, 16째 자리 이후부터는 입력한 숫자만큼 0으로 표시됨. 이는 자료형이 소수 16째 자리까지만 저장할 수 있기 때문임 printf("double형 출력 = %.18f", 0.123456789012345678); >> double.. 2023. 1. 10.
[C언어] 부동 소수점, 고정 소수점 - 코드 119 실수형 변수 부동 소수점(floating point) 고정 소수점(fixed point) 1. 실수형 변수 실수형 변수는 소수점을 포함하는 데이터를 처리하기 위한 저장 공간임. 컴퓨터에서는 기본적으로 소수점이 특정 위치에 고정되어 있지 않고, 소수점 위치를 그때그때 지정하여 나타내는 부동 소수점(floating point) 방식으로 실수를 표현함. 실수형 변수에 저정할 수 있는 값의 유효 범위는 변수를 선언할 때 지정하는 자료형에 따라 달라짐. 선택한 자료형에 따라 메모리 공간이 달라지고, 메모리 공간에 따라 유효 범위가 결정됨. 2. 부동 소수점(floating point)형 float: 떠서 움직인다. 즉, 소수점의 위치가 고정되지 않고 떠서 움직인다는 의미임 가수 부분과 지수 부분을 표기하는 과학적.. 2023. 1. 10.
[C언어] 스택 메모리 구조, LIFO, FIFO - 코드 119 스택 메모리 구조 LIFO(후입 선출) FIFO(선입 선출) 1. 스택 메모리 구조 스택(Stack): 컴퓨터에서 사용하는 메모리의 기본 구조 중 하나. 메모리에 먼저 삽입된 데이터가 가장 나중에 삭제되는 후입 선출(LIFO) 구조. 스택은 제한된 용량을 가지도록 구현되기 때문에, 스택이 가득 찼을 때 삽입 연산으로 새로운 요소를 추가하면 오버플로우 상태가 됨. 제거 연산이 스택의 맨 위 요소를 제거하면 그 아래에 있던 요소가 맨 위로 이동함. 스택 메모리가 비어 있는 상태가 되면, 언더플로우 상태가 됨. A 함수를 호출하여 사용할 때, A 함수가 B 함수를 포함하고, B 함수 내부에 C 함수가 포함되어 있다면 메모리에 입력된 순서는 A-B-C겠지만, 호출되어 실행되고 사라지는 순서는 C-B-A임. 2... 2023. 1. 10.
[C언어] 오버플로우, 언더플로우 - 코드 119 오버플로우 언더플로우 1. 오버플로우(Overflow) 정의: 변수에 선언한 자료형이 정상적으로 처리하는 유효 범위의 최댓값보다 더 큰 값이 입력되어, 유효 범위의 최솟값으로 실행 결과가 출력되는 현상 오버플로우가 발생하면 자료형의 유효 범위의 최솟값부터 다시 시작하여 연산됨 오버플로우가 발생하더라도 별도의 에러 메세지가 표시되지 않고, 실행 결과도 정상적으로 실행된 것 처럼 보이기 때문에 주의해야 함 예를 들어, signed short 형의 유효 범위는 -32,768 ~ +32,767 이기 때문에 signed short형 변수에 32767+8을 입력하면 최솟값인 -32,768부터 다시 시작하여 -32,761이 출력됨 오버플로우 해결 방법: 표현하고자 하는 범위의 숫자를 포함하는 자료형을 선택하여 사용해.. 2023. 1. 10.
반응형