:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
09/08/27 14:56
인텔 초창기 펜티엄에서는 부동소숫점 나누기 결과가 엉뚱한 값이 나오는 버그가 있었더랬죠. (http://en.wikipedia.org/wiki/Pentium_FDIV_bug)
이진수로 수를 표현하는 컴퓨터의 특성상 정수가 아닌 실수에 대해 오류가 나올 가능성이 굉장히 높은 편입니다. 비단 하드웨어의 문제만이 아니라 컴퓨터가 실수를 표현하기 위해 많이 사용되는 부동 소수점 자체가 정확도가 떨어진다는 단점이 있기 때문에 복잡한 계산에는 반드시 확인이 필요하죠.
09/08/27 15:05
두 번째 질문의 경우 컴퓨터를 공부하신 분이라면 다들 아시겠지만 프로그램을 작성할 때 작성한 프로그램 소스만으로는 동작을 하지 않습니다. 기본적인 여러가지 라이브러리들과 시스템 콜등이 사용이 되는데 이쪽에 오류가 있다면 일반적인 프로그래머라면 찾아낼 수가 없죠. 그 밖에도 소스를 실행파일로 만들어주는 컴파일러쪽에서부터 문제가 있을 수도 있는거고, 네트워크 프로그램의 경우 심지어는 하드웨어적인 상태가 프로그램 결과에 영향을 줄 수도 있으니... 인간 세상에 완벽은 없습니다 ^^
참고로 디버그의 유래 자체가 초창기 대형 컴퓨터의 연산 결과가 나방(인가 뭔가...)이 회로에 붙어서 타 죽어서 발생했기 때문에 그렇게 부르게 된 거죠 ^^
09/08/27 20:17
하드웨어적으로 0/1 표현하는게 전압-전류 공식으로 표현되는것인데, 사용하는 TR(트렌지스터 - MOS - 전압따라 전류낼지말지(0/1판정) 결정하는 소자;)이 구리면 (혹은 시간이 갈수록 망가지면) 0/1 표현 공식이 찌그러지기 시작하겠죠.
제품 만들때 신뢰성 테스트라고 해서 고온에서 100000번 이상 쓰고 지우는 등의 테스트를 하긴 하지만, 가끔 삐꾸가 나오기도 하죠. 그런 녀석이면 극악 케이스로 한번정도 전압넣어 0/1 판정하다보면(=수식 넣기 모드) TR자체가 깨지거나 해서 무조건 0으로 나오기도 하고 회로에 따라 무조건 1이 나오기도 하는것이죠. (= 결과값 오류) 물론, 요즘 시대엔 검증된 녀석들만 출하되기에 문제 없겠죠?! 특히나 슈퍼컴 쓰는(혹은 만드는) 회사라면 말이죠.
|