[Powered by Google Translate] 조던 JOZWIAK : 종류 주조, 가장 간단한 의미에서는,
하여 일부 데이터를 컴퓨터의 해석을 변경할 방법
암시 적으로 또는 명시 적으로 해당 데이터 형식을 변경합니다.
부동, 또는 그 반대로 정수를 변경하는 등.
타입 캐스팅을 이해하기 위해, 우리는 필요
기본 시작 -
데이터 유형 자체.
C와 같은 컴퓨터 언어에서 모든 변수는 어떤 종류의이
어떻게 컴퓨터와 마찬가지로 결정 데이터 형식의
사용자는 그 변수를 해석합니다.
이러한 정수, 긴 긴 부동 등 숫자 데이터 유형
두 번 모두 자신의 고유 한 특성을 가지고 아르
범위 및 정밀도를 변화의 값을 지정하는 데 사용됩니다.
타입 캐스트은 우리와 같은 부동 소수점 번호표를받을 수 있습니다
3.14가 있으며,이 경우 소수점 전에 3 부분을
정수로 캐스팅하여.
하자 잠시 동안 영어에서 예를
유형의 검토 및 유형 주조가 변경 될 수 방법에 대해 알아 보려면
우리가 데이터의 조각을 해석하는 방법입니다.
데이터를 들어, 여기에 기호를 봅시다.
난 그냥 이러한주의 깊게 구성 라인을 참조
기호,하지만 영어를 잘 아는 사람으로,
귀하는 즉시 그 사실 글자 것을 인식하고 있습니다.
당신은 암시 적 데이터 형식을 이해.
문자의 문자열을 보면 두 가지를 볼 수 있습니다
다른 단어 자체 의미 각.
외부 바람이 부는에서와 같이 명사, 바람도 있고.
나는 필요에서와 같이 그리고 동사, 바람이있어
내 아날로그 시계를 감아.
우리가 볼 수 있기 때문에, 흥미로운 예입니다
어떻게 우리가 명사 여부, 우리의 데이터에 할당 유형
우리가 그 데이터를 사용하는 방법 동사 변화 -
단어 바람이나 바람 있습니다.
컴퓨터 문법 및 부품에 대해 신경 쓰지 않지만
영어 연설 같은 기본 원칙이 적용됩니다.
즉, 우리는 정확한 해석을 변경할 수 있습니다
에 의해 메모리에 저장된 동일한 데이터는 단순히에 캐스팅
다른 유형의.
다음은 가장 일반적인 유형의 크기는 32 비트에 있습니다
시스템을 운영.
우리는 4 바이트에서 1 바이트, int는 및 부동 긴에서 숯불을 가지고
길이 8 바이트에 두 번.
int는 4 바이트를 차지하므로 32 비트를 취할 것
그것은 바이너리 시리즈로 메모리에 저장 될 때
제로와 것​​들.
우리 변수만큼 유형 INT,로 남아
컴퓨터는 항상 그 사람과 제로에서 변환됩니다
원래 번호로 진.
그러나, 우리는 이론적으로 그 32 주조 수
부울 유형의 일련에 비트.
그리고 컴퓨터는 더 이상 숫자를 볼 수 없습니다,하지만
제로와 것​​들 대신 모음입니다.
우리는 또한 다른 숫자로 데이터를 읽을 수 있겠지
입력 또는 네 자리의 문자열로.
주조의 숫자를 처리 할 때, 당신은 어떻게 생각해야합니다
가치의 정밀도에 영향을 줄 수 있습니다.
정밀도가 동일한있을 수 있다는 점에 유의,
하거나 정밀도를 잃을 수 있지만 정밀도를 얻을 수 없다.
자, 당신이 할 수있는 가장 일반적인 세​​ 가지 방법에 대해 통과
정밀도를 잃게됩니다.
int로 수레를 주조하는 것은 모든 절단의 원인이됩니다
소수점 뒤에, 그래서 당신은 떠날거야
전체 번호.
우리가 3.7와 동일합니다 부동 x를하게되면, 우리는 캐스트
의 정수이 변수 x는 단순히에서 정수를 작성
괄호.
우리가 여기이 용어를 사용할 때마다, 우리는 효과적으로드립니다
우리가 잘린 하였기 때문에 값이 세 사용
소수점 모든.
우리는 또한 어떤 의지, int로 긴 긴을 변환 할 수 있습니다
마찬가지로 높은 순서 비트의 손실로 이어집니다.
긴 긴 8 바이트, 또는 메모리에 64 비트를 차지합니다.
그래서 우리는 겨우 4 바이트 또는 32이 정수로 캐스팅 할 때
비트, 우리는 본질적으로 모든 비트를 자르고 아르
높은 이진 값을 나타냅니다.
당신은 또한 줄 것이다 부동에 더블 캐스팅 수
없이 두 배로 당신은 가장 가까운 가능한 부동
반드시 반올림 그.
의 손실, INT 전환 오랜 시간과 유사
이중 더 많은 데이터가 포함되어 있기 때문에 정밀입니다.
이중, 당신이 53 비트 의미를 저장할 수 있도록 허용합니다
약 16 유효 자릿수.
float이 만 24를 저장 할 수 있습니다 반면,
중요한 비트, 약 일곱 유효 자릿수.
이 마지막 두 경우에 생각하는 것이 도움이 될 수 있습니다
크기 조정 사진으로 캐스팅를 입력합니다.
당신은 작은 크기로 대형에서 이동하는 경우, 당신은 볼 수 없습니다
당신은 데이터를 손실 일뿐만 명확하기 때문에
픽셀의 형태 인치
때 타입 캐스트도 문제를 일으킬 수 있습니다 우리
수레에 ints를 캐스팅.
32 비트 컴퓨터에서 수레는 24이 있기 때문에
중요한 비트, 그들은 정확하게 값을 나타냅니다 할 수 없습니다
24 일 또는 16777217의 힘 2 이상.
이번에는 명시 적 및 암시 적 캐스팅에 대해 얘기 해봐요.
우리가 괄호 안에 유형을 쓸 때 명시 적 캐스팅입니다
변수 이름 앞에.
예를 들어, 이전에 우리는 전에 괄호 안에 정수를 작성 우리의
변수 x를 떠.
이러한 방법으로, 우리는, int 값을
3.7립니다 가치 -
3.
컴파일러가 자동으로 변경하면 암시 적 캐스팅입니다
슈퍼 타입과 비슷한 타입, 또는 다른 종류를 수행
사용자가 작성하지 않고도 캐스팅
추가 코드입니다.
예를 들어, 5 및 1.1을 추가 할 때, 우리의 가치는 이미
종류에는 관련된.
1.1 부동 반면 5, 정수입니다.
키워드를 추가하기 위해 컴퓨터가 수레에 5 캐스트
어떤에 5.0을 쓰기와 같은 일이었을 것이다
처음.
하지만 우리가 부동 5 또는 5.0, 플러스 무슨 말을 이런 식으로 이미
부동, 1.1, 그리고 거기에서 우리는 실제로이를 추가 할 수 있습니다
가치와 가치를 6.1을.
암시 적 캐스팅은 또한 우리의 변수를 할당 할 수 있습니다
서로 다른 종류의.
우리는 항상 더에 덜 정확한 유형을 지정할 수 있습니다
정확한 하나.
예를 들어, 우리는 더블 X 및 Y 정수가있는 경우 -
이러한 우리가 그들을 위해 설정 한 값을 가질 수 -
우리는 X가 Y와 동일 말할 수 있습니다.
두가 정수보다 더 정밀도를 가지고 있기 때문에, 우리
모든 정보는 삭제되지 않습니다.
반면에, 그것은 반드시 테너하지 않을
이중 더 큰 값보다이 있기 때문에 Y는 X를 동일
정수.
그리고 정수는 모두를 개최하지 못할 수 있습니다
이중에 저장 정보를 제공합니다.
암시 적 캐스팅도 같은 비교 연산자에 사용됩니다
,보다 큰 미만, 또는 평등 연산자.
우리가 5.1 경우에 말할 수있는이 방법은 5보다 큰이며, 우리는을
사실 결과.
5 정수이지만, 그것은하기 위해 수레에 던져 질 것 때문에
부동 5.1 비교 될, 우리는 5.1 같다
5.0보다 큰.
동일한 2.0 2와 동일 동일하면 소리와 마찬가지입니다.
컴퓨터가 캐스팅 때문에 우리는 또한 사실 거라고
정수 2, 떠하고 2.0 2.0을 동일 동일 말을하고
이 사실입니다.
우리는 또한 ints와 문자 사이에 주조 할 수있는 잊지 마,
또는 ASCII 값입니다.
문자도 바이너리로 축소 할 필요가있는 이유이다
쉽게 문자와 각 사이의 변환을 할 수 있습니다
ASCII 값입니다.
이 방법에 대한 자세한 내용은 ASCII에 우리 동영상을 확인하세요.
당신은 데이터가 저장된 방법에 대해 생각 잠시 시간을내어 때,
이건 말도 많은을하기 시작합니다.
단지 바람과 바람의 차이 같아요.
데이터는 동일하지만 형식은 변경할 수 있습니다 어떻게
을 해석.
내 이름은 조던 Jozwiak이 cs50입니다.