Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- const
- pointer
- array
- Data Science
- 알고리즘
- raw data
- vscode
- function
- Python
- 백준
- Pre-processing
- 문자열
- assignment operator
- 반복문
- 포인터
- Deep Learning
- Class
- Object Oriented Programming
- C++
- 함수
- 파이썬
- OOP
- pass by reference
- 배열
- 티스토리챌린지
- string
- 오블완
- programming
- predictive analysis
- baekjoon
Archives
- Today
- Total
Channi Studies
[C++] 정수끼리의 나눗셈 본문
C++에서 정수끼리 나눗셈을 하게 되면, 소수점 이하의 숫자는 버려집니다.
#include <iostream>
using namespace std;
int main(){
int num1 = 10;
int num2 = 3;
float result = num1 / num2;
cout << "result: " << result << endl;
// result: 3
return 0;
}
10 / 3 = 3.333333333.. 이지만, 정수형이기 때문에 3으로 출력됩니다.
심지어 결과 자료형을 실수형인 double 또는 float로 선언해도 동일합니다.
이럴 때는 연산되는 두가지 변수 중 한가지를 실수형으로 변경하면 해결됩니다.
그것은 static_cast<type>(variable_name) 명령어로 진행됩니다.
예를 들어, 상위 예시에서 float result = static_cast<double>(num1) / num2; 로 선언했다면,
결과가 원하던대로 3.33333 으로 나오게 됩니다.
float result = (double)num1 / num2; 의 방법도 존재합니다만,
static_cast의 방법이 안정성 면에서 더 뛰어나기 때문에 첫번째 방법을 권장합니다.
'C++ > 기타' 카테고리의 다른 글
[C++] Compund Assignment Operator (0) | 2023.12.07 |
---|---|
[C++] c++에서 boolean 값을 true/false로 출력하고 싶을 때 (0) | 2023.12.07 |
[C++] Increment/Decrement Operator (증감연산자) ++, -- (0) | 2023.12.07 |
[C++] Assignment Operator (할당 연산자), = (0) | 2023.12.06 |
[C++] 배열 (Array) (0) | 2023.12.05 |