그래서 더블쓰자너, 컴파일러도 자동적으로 실수인 상수계산할때 더블로 처리함, 원래 목적은 메모리 용량이 적어서 쓰는거였는데 이제 그럴필요가없지 , 교수님이 학생때 1kb 플로피디스크 썼다는데 ㅋㅋ
익명(119.194)2019-12-31 20:58
floating point number를 잘 모르는것 같은데 float이 라고 오류 잘나고 double은 오류 안나고 그런거 전혀 아님
다믜(damhiya)2019-12-31 22:00
답글
float, double 둘다 기본적으로 정밀도에 한계가 있고 정밀한 정도가 차이날 뿐임. 소숫점 아래 몇자리 까지 구하고 싶냐에 따라서 필요한 자료형을 쓰면 됨
다믜(damhiya)2019-12-31 22:02
답글
그런데 floating point 특성상 정밀도가 엄청나게 떨어질수 있는 특정한 연산들이 있음. 그런 연산은 float으로 쓰던 double로 쓰던 정밀도가 형편없게 나옴. 그럴때는 연산 정밀도를 올리는게 아니라 계산 식 자체를 적절하게 변형해서 오류가 나지 않는 형태로 만들어줘야됨
다믜(damhiya)2019-12-31 22:03
답글
그리고 float여전히 많이 씀. 그래픽은 32비트 제일 많이 쓰고, 머신러닝 쪽은 16비트도 쓴다.
테스트 빼곤 float안써봄
그래서 더블쓰자너, 컴파일러도 자동적으로 실수인 상수계산할때 더블로 처리함, 원래 목적은 메모리 용량이 적어서 쓰는거였는데 이제 그럴필요가없지 , 교수님이 학생때 1kb 플로피디스크 썼다는데 ㅋㅋ
floating point number를 잘 모르는것 같은데 float이 라고 오류 잘나고 double은 오류 안나고 그런거 전혀 아님
float, double 둘다 기본적으로 정밀도에 한계가 있고 정밀한 정도가 차이날 뿐임. 소숫점 아래 몇자리 까지 구하고 싶냐에 따라서 필요한 자료형을 쓰면 됨
그런데 floating point 특성상 정밀도가 엄청나게 떨어질수 있는 특정한 연산들이 있음. 그런 연산은 float으로 쓰던 double로 쓰던 정밀도가 형편없게 나옴. 그럴때는 연산 정밀도를 올리는게 아니라 계산 식 자체를 적절하게 변형해서 오류가 나지 않는 형태로 만들어줘야됨
그리고 float여전히 많이 씀. 그래픽은 32비트 제일 많이 쓰고, 머신러닝 쪽은 16비트도 쓴다.