inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[하루 10분|C++] 누구나 쉽게 배우는 C++ 프로그래밍 입문

데이터형변환이 안되요

해결된 질문

236

Lyw

작성한 질문수 3

1

#include <iostream>

#include <cstring>

using namespace std;

int main()

{

int a; a = 3.141592;

cout << (float)a << endl;

cout << float(a) << endl;

return 0;

} 비쥬얼 스튜디오로 했는데 데이터형변환이 안되고 3이 출력 되네요 문제가있나요??

C++

답변 2

0

Lyw

그럼 인트형을 처음에 할당된 값은 강제로 형변환이 안되고 

플루트형만 형변환이 되는 건가요?? 짧게 할당된건 다시 길게 못하고 길게 할당된건 지울 수

있는 건가요??

 

 

 

 

 

 

 

 

 

 

 

0

판다코딩

짧게 할당된 것을 다시 길게 늘리지 못하다기 보다는,

3.141592와 같은 소수점부가 포함된 수를

int형 변수로 저장하는 과정에서 이미 3만 저장됩니다.

이를 float형으로 출력하고자 한다해도, 애초에 저장된 수가 3이 끝이기 때문에

3만 출력되는 것입니다.

0

Lyw

감사합니다^^ 

 

0

판다코딩

a는 int형 변수로 선언되어 있기 때문에,

값을 할당하는 과정에서 이미 "3"만 저장됩니다.

아래의 코드를 실행해보면 더 이해하기 쉬우실 것 같습니다 :)

 

#include <iostream>
#include <cstring>
using namespace std;

int main()

{

	int a = 3.141592;
	float b = 3.141592;

	cout << "int to int : " << (int)a << endl;
	cout << "int to float : " << (float)a << endl;
	cout << "float to int : " << (int)b << endl;
	cout << "float to float : " << (float)b << endl;

	return 0;

}

null 문자가 포함되면 왜 뒤에 불필요한 것들이 사라지나요?

0

567

1

강의 중 궁금한게 있습니다.

0

409

0

포인터 연산 강의

0

376

1

강의중 궁금한 내용이 있습니다

2

493

3

(int*)이 어떤 원리인건지 잘 이해가 안되요 ㅜ

1

459

0

char형과 char 배열을 차이점이 뭔가요

0

391

0

오토를 맹신하지 말라는 것이 무슨 뜻인가요?

0

340

1

안녕하세요 class의 멤버함수에 관련하여 질문이 있습니다.

0

250

0

강의 잘 듣고있습니다. 그런데 소스코드에 오타가 있는듯합니다.

1

335

0

포인터를 증가시키거나 감소시킨 상태에서는 delete 사용이 불가능한가요?

0

460

0

const float PI =3.14159265; 로 선언하고 원의 넓이를 구할 때 궁금한 것이 있습니다.

0

665

1

iosteam 헤더 파일 중복

0

366

1

함수 뒤 세미콜론

0

321

0

함수는 원본이 아닌 복사본을 사용한다는 말에 대해서 질문있습니다

0

245

0

sizeof arr에서

0

421

3

포인터를 이용한 주소값이 이상합니다

0

290

1

바이트와 관련하여서 질문이 있습니다

0

266

1

출력이 안되요

0

281

0

마지막에 main.cpp 에서

1

264

0

예제코드 오타 있어요

1

205

0

함수의 대괄호 뒤에 ; 가 붙는것과 안뭍는것의 차이가 뭔가요?

0

222

0

new/delete 연산자

1

260

1

컴파일에러

1

282

1

string에서 문자열 길이

1

268

1