반응형 프로그래밍언어82 프로그래머가 강제로 형변환을 해준다 - 강제 형변환 강제 형변환은 자동 형변환처럼 C 컴파일러가 내부적으로 변환하는 것이 아니라 프로그래머가 강제로 하는 자료형의 변환을 말합니다. 즉, 프로그램에서 이미 정의된 자료형을 강제적으로 다른 자료형으로 변환하는 것을 의미합니다. 괄호 연산자(())를 이용해서 다음과 같은 형식을 취하면 강제 형변환이 됩니다. 다음 예제는 강제 형변환의 필요성을 보여주는 코드를 나타내고 있습니다. 9행부터 10행까지에서 numl/num2는 정수형 정수형입니다. 몫이 3입니다. 그래서 result-형태가 되는데 바로 앞에서 배웠던 대입 연산자 기준의 자동 형변환이 이루어집니다. 대입자를 기준으로 오른쪽 값이 왼쪽 값의 자료형으로 자동 형변환이 된다고 하였으므로 3이 double형으로 되어서 변수 result에 3,000000이 저장.. 2022. 1. 12. 자료형 변환 - 자동형변환(산술연산자) part2 대입 연산을 하는 경우에 대입 연산자를 기준으로 오른쪽에서 왼쪽으로 자동 형변환이 일어난다. 대입 연산을 할 때는 대입 연산자의 오른쪽 값이 왼쪽 값의 자료형으로 자동으로 자료형이 변환됩니다. 자동 형변환에서 프로그래머가 유의할 점은 의도하지 않는 형변환 때문에 발생하게 되는 데이터 손실을 이해하는 것입니다. 다음 예제를 가지고 대입 연산을 하는 경우 자동 형변환의 방향을 이해하고 데이터 손실을 이해해 보겠습니다. 4행에서 정수는 int형 연산이 가장 빠르기 때문에 컴파일러는 130을 int형으로 자동 형변환을하고, 변수 numl(char형)에 저장합니다. 이때 다음 그림처럼 대입 연산자를 기준으로 오른쪽에서 왼쪽으로 자동 형변환이 일어나서 int형 데이터 130이 char형으로 자동 형변환됩니다. ch.. 2022. 1. 8. 자료형 변환 - 자동형변환(산술연산자) part1 지금가지 살펴본 것처럼 프로그램에서 사용되는 데이터는 자료형에 따라 표현 범위가 다릅니다. 자료형이 다양한 C 언어에서 복합적인 연산 수식이 요구될 때는 가급적 같은 자료형 간에 연산이 이루어지는 것이 좋습니다. 그러나 불가피하게 다른 자료형 간의 연산이 이루어져야 하는 경우가 빈번히 발생하는데 이렇게 서로 다른 자료형 간에 연산을 하게 되면 자료형의 변환이 일어납니다. 예를 들어, int형 데이터를 float형으로 변환하거나 float형 데이터를 double형 데이터로 변환하는 것을 말합니다. 자료형의 변환에는 두 가지 방식이 있습니다. 첫째로 자동 형변환이 있고, 둘째로 강제 형변환이 있습니다. 자등 형변환은 컴파일러가 자등으로 해주는 것이고, 강제 형변환들은 프로그래머가 강제로 해주는 것입니다. 지.. 2021. 12. 30. 자료형이란 무엇인가 - 문자형 잠시 여러분 컴퓨터의 키보드를 살펴봅시다. 특수 기호, 알파벳 등의 문자들이 보이나요? 사람은 이러한 문자들을 이해할 수 있지만, 과연 컴퓨터는 이해할 수 있을까요? 컴퓨터는 키보드의 이러한 문자들을 인식하지 못합니다. 컴퓨터는 모든 데이터를 이과 1로 처리하기 때문입니다. 컴퓨터(CPU)는 문자를 인식하지 못한다. 그러면 컴퓨터가 문자를 인식하게 하는 방법은 무엇일까요? 컴퓨터에서 사용되는 데이터는 메모리에 0과 1의 이진수 형태로 저장된다고 했습니다. 그렇다면 "숫자를 문자와 연결해서 인식하면 되지 않을까?"라는 생각을 해볼 수 있습니다. 컴퓨터가 문자를 인식하게 하기 위해 숫자를 문자와 연결하는 방법이 필요한데, 미국표준협회(ANSI, American National Standards Institu.. 2021. 12. 28. 실수형은 double형을 선호한다. 정수형에서는 빠른 연산 속도 때문에 주로 int형을 사용한다고 했습니다. 그렇다면 실수형에서는 어떤 자료형을 선호할까요? 실수형에서 기본적으로 선호하는 자료형은 double형입니다. 특히, 공학 계산 등과 같이 정밀한 소수점 계산이 필요하다면 float형보다는 double형을 사용하는 것이 오차를 줄일 수 있습니다. float형은 소수점 이하 6자리까지 정밀도를 표현할 수 있지만, double형은 소수점 이하 15자리까지 정밀도를 표현할 수 있기 때문에 double형을 많이 사용합니다. 다음 예제를 통해 정밀도를 확인해 보겠습니다. 3행에서 실수형 float형은 소수점 이하 6자리를 표현할 수 있는데 변수 numl에 소수점 이하 15자리 수를 입력하고 있습니다. 4행에서 실수형 double형은 소수점 이.. 2021. 12. 24. 자료형이란 무엇인가 - 실수형은 데이터의 정밀도를 높이기 위해 사용한다. 실수형은 데이터의 정밀도를 높이기 위해 사용한다. 실수형 데이터는 정수형 데이터와 달리 정밀도라는 것이 있습니다. 99와 99.9 중에 어느 것이 정밀도가 더 높을까요? 직관적으로 99.9라는 것이 더 정밀도 높다는 것을 알수 있습니다. 이처럼 실수형은 데이터의 정밀도를 높이기 위해 사용하는 자료형입니다. 이러한 정밀도는 소수점 이하 자리수로 표현합니다. 다음 표는 실수형의 표현 가능한 소수점 이하 자리수를 표현하고 있습니다. 실수형 표현 가능한 소수점 이하 자리 수 float 소수점 이하 6자리 double 소수점 이하 6자리 long double 소수점 이하 5자리 또는 그 이상 2021. 11. 16. 이전 1 2 3 4 5 6 7 8 ··· 14 다음 반응형