공부(IT)/c
[c] 정수와 정수를 나눌때의 처리과정
Dohyun Kim
2016. 2. 6. 01:18
int a =100 , b=100;
a/8 * b/8;
이 연산의 결과는 144가 아닌 150이 나온다.
정수끼리나눌때 형의 승격이 발생하는모양이다.
하지만 (a/8) * (b/8)의 결과는 144 이다.
정수와 정수의 연산은 정수형으로 그대로 처리되는줄알았는데 뭔가 이해가 안된다.
*바보였다....
100/ 8 = 12.5 -> 12
12 *100 = 1200
1200 /8 = 150
그냥 순서대로 가고있는거였는데 착각했다.
후의 100/8에서 0.5가 버려지지 않느냐 버려지느냐의 순서차이었다.