윌리엄 카한​*​

부동소수점 연산은 컴퓨터 과학에서 항상 손톱 밑의 가시 같은 존재였다.

1997년 존 폰 노이만 기념 강연 중에서​1​

“자, 이건 TI텍사스인스트루먼트의 계산기입니다. 잘 보세요. 내가 여기에 노스캐롤라이나의 전화번호를 하나 입력하겠습니다. 지역번호 919로 시작하는 10자리 숫자입니다. 그리고 로그 계산 키를 누르고 다시 지수 계산 키를 누르겠습니다. 오, 원래 숫자로 되돌아왔네요. 다시 로그 계산 키를 누르고 지수 계산 키를 누르면. 짜잔. 다시 원래 숫자로 돌아왔습니다.”

카한 교수는 로그 계산 키를 누르고 지수 계산 키를 누르는 작업을 계속 반복했다. 7번째가 되었을 때였다.

“자, 로그 계산 키를 누르고 다시 지수 계산 키를 눌렀습니다. 이런! 전화번호 값이 바뀌었네요. 이게 무엇을 의미하는 걸까요?”

카한 교수는 눈을 반짝이며 주위의 사람들을 둘러보았다. 회의실에 모인 사람들의 눈이 그에게 집중되었다. 모두 숨을 죽인 듯 정적이 감돌았다. 카한 교수는 미소를 흘리며 말했다.

“여기에 보이는 10자리 숫자 외에 오른쪽에 몇 자리가 더 숨어 있음이 명백합니다.”


윌리엄 카한이 HP휴렛패커드에서 전화를 받은 때는 며칠 전이었다. 캘리포니아 대학교 버클리에서 수학을 가르치고 있기는 했지만 그는 대학원생 시절부터 수치계산 프로그램을 잘 짜는 것으로 유명했다. 그에 관한 소문은 학계뿐만 아니라 산업계에도 퍼져 있었다. HP가 수치계산에 관해 자문받을 만한 전문가로 카한 교수를 선택한 것은 신의 한 수였다.

HP는 공학용 소형 계산기에서 큰 성공을 거두었다. 1972년에 세계 최초로 출시된 공학용 소형 계산기인 HP-35 모델은 엔지니어들과 학생들에게 열렬한 지지를 받았다. 그때까지만 하더라도 삼각 함수나 지수 함수를 계산하려면 계산자slide rule를 사용해야 했는데 불편하고 정확도가 떨어졌다. HP-35 계산기는 버튼 키만 누르면 이런 함수가 쉽게 계산되었다. 너도나도 HP-35 계산기에 지갑을 열었다. 이에 뒤질세라 TI에서도 공학용 소형 계산기를 출시했다. HP와 TI 사이의 경쟁은 치열했다.

1973년에 HP는 두 번째 모델인 HP-45를 출시했다. 시프트shift 키가 최초로 도입된 계산기였다. HP-35의 인기를 이어 나갈 것으로 기대되었던 HP-45였지만 예상치 못한 상황이 벌어졌다. TI에서 자사의 계산기를 광고하면서 HP-45의 치명적인 오류를 지적하고 나선 것이다. 그 광고 문구는 다음과 같았다.

“지역코드를 포함해서 여러분의 전화번호를 입력해 보세요. 10자리 숫자일 겁니다. 그것의 로그값을 구하세요. 그 결과에 대해 지수값을 구해보세요. 그러면 여러분의 전화번호 10자리 값으로 되돌아왔습니까?”

어떤 숫자에 로그 함수를 적용한 후에, 그 결과에 다시 지수 함수를 적용하면 원래의 값으로 복원되어야 옳다. 그런데 HP 계산기에서는 원래 값과는 살짝 다른 값이 구해졌다. TI 계산기에서는 정상이었다. HP에서 난리가 났음은 당연하다.


HP의 담당자로부터 자초지종을 들은 카한 교수는 HP 계산기와 TI 계산기를 놓고 이런저런 계산을 해보았다. 그리고 흥미로운 점을 발견했다. TI 계산기도, 로그 함수와 지수 함수를 여러 번 반복해서 적용하면 같은 문제가 발생했다. HP 계산기와 TI 계산기는 둘 다 완벽하지 못했다.

HP 계산기와 TI 계산기는 둘 다 최대 10자리 숫자까지만 지원했다. 그런데 그가 보기에 TI 계산기는 내부적으로 11자리 이상의 숫자가 사용되는 듯 보였다.

갑자기 카한 교수는 흥미가 발동했다. 순수 수학을 가르치고 있기는 했지만 그는 뭔가 직접 손을 써서 만드는 일을 좋아했다. 공학용 계산기는 그의 적성에 잘 들어맞아 보였다. 그리고 TI 계산기보다 더 정확한 계산기를 만들 수 있을 것 같았다. 그는 HP의 담당자에게 전화를 걸었다.

“안녕하세요. 버클리의 카한 교수입니다… 네. 네. 다름이 아니라 그 계산기 오류 건 말인데요. 제가 뭔가 찾아낸 것 같습니다. 관계된 분들을 모시고 회의를 했으면 합니다. 보여드릴 것이 있습니다. 모두가 흥미를 가지실 만한 것입니다… 네. 네. 좋습니다. 그럼 그때 뵙지요.”

전화를 끊고 그는 책상 위에 놓여 있는 두 대의 계산기를 물끄러미 쳐다보았다.

1 2 3 4 5