C 언어
Typecasting은 하나의 데이터 유형을 다른 데이터 유형으로 변환하는 것입니다. C 언어에서는 데이터 변환 또는 유형 변환이라고도 합니다. 'C' 프로그래밍에 도입된 중요한 개념 중 하나입니다.
'C' 프로그래밍은 두 가지 유형의 유형 캐스팅 작업을 제공합니다.
암시적 유형 캐스팅은 원래 의미를 잃지 않고 데이터 유형을 변환하는 것을 의미합니다. 이러한 유형 변환은 데이터 유형을 없이 변경하려는 경우에 필수적입니다. 변수 내부에 저장된 값의 의미 변경.
C의 암시적 유형 변환은 값이 호환되는 데이터 유형으로 복사될 때 자동으로 발생합니다. 변환하는 동안 유형 변환에 대한 엄격한 규칙이 적용됩니다. 피연산자의 데이터 유형이 서로 다른 경우 데이터 유형이 낮은 피연산자는 자동으로 상위 데이터 유형으로 변환됩니다. 이러한 유형의 변환은 다음 예에서 볼 수 있습니다.
#include<stdio.h> int main(){ short a=10; //initializing variable of short data type int b; //declaring int variable b=a; //implicit type casting printf("%d\n",a); printf("%d\n",b); }
출력:
10 10
ASCII로 디코딩된 문자를 정수로 추가하는 예를 고려하십시오.
#include <stdio.h> main() { int number = 1; char character = 'k'; /*ASCII value is 107 */ int sum; sum = number + character; printf("Value of sum : %d\n", sum ); }
출력:
Value of sum : 108
여기서 컴파일러는 실제 덧셈 연산을 수행하기 전에 'k' 값을 ASCII로 변환하여 정수 승격을 수행했습니다.
컴파일러는 먼저 문자를 정수로 승격하는 작업을 진행합니다. 피연산자의 데이터 유형이 여전히 다른 경우 다음 계층 구조 차트에 나타나는 가장 높은 데이터 유형으로 변환됩니다.
<중앙>
<그림>산술 변환 계층
그림>
개념을 이해하려면 다음 예를 고려하십시오.
#include <stdio.h> main() { int num = 13; char c = 'k'; /* ASCII value is 107 */ float sum; sum = num + c; printf("sum = %f\n", sum );}
출력:
sum = 120.000000
우선, c 변수는 정수로 변환되지만 컴파일러는 num 및 c "float"에 추가하고 'float' 결과를 생성합니다.
다음과 같이 서로 호환되지 않는 데이터 유형에 대해서는 암시적 유형 캐스팅을 수행할 수 없습니다.
위의 모든 경우에 데이터 유형을 변환하면 값이 의미를 잃게 됩니다. 일반적으로 값의 의미 손실은 컴파일러에서 경고합니다.
'C' 프로그래밍은 명시적 유형 캐스팅인 또 다른 유형 캐스팅 방법을 제공합니다.
암시적 형식 변환에서는 데이터 형식이 자동으로 변환됩니다. 형식 변환을 강제해야 하는 몇 가지 시나리오가 있습니다. int 데이터 유형으로 선언된 두 피연산자의 나눗셈을 저장하는 변수 div가 있다고 가정합니다.
int result, var1=10, var2=3; result=var1/var2;
이 경우 변수 var1 및 var2에 대해 수행한 나눗셈 후 변수 "result"에 저장된 결과는 정수 형식이 됩니다. 이런 일이 발생할 때마다 "result" 변수에 저장된 값은 일반적으로 두 숫자의 나눗셈에서 구해지는 분수 부분을 고려하지 않기 때문에 의미를 잃습니다.
이러한 상황에서 유형 변환을 강제하기 위해 명시적 유형 캐스팅을 사용합니다.
유형 캐스팅 연산자가 필요합니다. 유형 캐스팅 작업의 일반 구문은 다음과 같습니다.
(type-name) expression
여기,
명시적 유형 변환을 사용하여 C에서 유형 변환하는 방법을 보여주는 프로그램을 작성해 보겠습니다.
#include<stdio.h> int main() { float a = 1.2; //int b = a; //Compiler will throw an error for this int b = (int)a + 1; printf("Value of a is %f\n", a); printf("Value of b is %d\n",b); return 0; }
출력:
Value of a is 1.200000 Value of b is 2
이런 식으로 C 프로그래밍에서 명시적 유형 캐스팅을 구현할 수 있습니다.
데이터 손실을 방지하기 위해 다른 데이터 유형을 다룰 때 프로그래밍 실습에 대한 다음 규칙을 기억하십시오.
C 언어
Python Attrs 패키지를 사용하면 간단한 주석을 사용하여 고급 데이터 클래스를 만들 수 있습니다. 물론 python에는 고유한 기본 데이터 클래스 모듈도 있지만 Python attrs 패키지는 여러분이 좋아할 만한 몇 가지 추가 기능을 제공합니다! 목차 속성 설치 속성 대 데이터 클래스 기본 Python 속성 예제 Python 속성 유효성 검사기 예 Python 속성 변환기 예 Python 속성과 함께 슬롯 사용 계속 학습 설치 속성 attrs 패키지는 기본 라이브러리의 일부가 아니므로 pip install 명령 또
한 데이터 유형을 다른 데이터 유형으로 변환하는 것을 유형 변환 또는 유형 변환이라고 합니다. 예를 들어, long 값을 간단한 정수로 저장하려면 long을 int로 캐스트할 수 있습니다. 캐스트 연산자를 사용하여 명시적으로 값을 한 유형에서 다른 유형으로 변환할 수 있습니다. 다음과 같이 - (type_name) expression 캐스트 연산자가 하나의 정수 변수를 다른 정수 변수로 나누는 것이 부동 소수점 연산으로 수행되도록 하는 다음 예를 고려하십시오 - 라이브 데모 #include <stdio.h> ma