int a = 1234567890;
float b;
b = (float) a;
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine((int)b);
Console.WriteLine("differnce = " + (a -(int)b));
1234567890
1.234568E+09
1234567936
-46
인데 여기서 -46이 왜이렇게 나오는지 모르겠거든요...
a를 float 에다가 저장하니 유효숫자를 상실한다했는데..이게 정확하게 무슨 의미인지 잘 모르겠어요
검색해보니 float은 유효숫자가 7자리라던데...
a를 형변환해서 b에다가 저장하고 이 b를 다시 int형으로 캐스팅하면 1234567936 이라는 값이 나오던데 이 값은 랜덤하게나오는건가요
랜덤으로 나온다는 생각은 버리고 4바이트인 float이 실수를 어떤 방식으로 저장하는지 확인 후에 너의 고민에 접근하는게 순서 아니겠냐
부동소수점으로 저장...?
https://ko.wikipedia.org/wiki/IEEE_754
참고해서 읽어보고 이해안되면 넘겨라. 지금의 너에게 중요한것도 아니고 이런거에 신경쓸 시간에 진도 더 나가는게 맞다.