Programming/Codeup.kr기초100제 && 컴퓨터 이야기

[기초-출력변환] 8진 정수 한 개 입력받아 10진수로 출력하기 && 마우스

피터파스칼 2016. 11. 26. 23:45

마우스는 키보드와 더불어 컴퓨터의 대표적인 입력장치중 하나이다. 1986년 더글러스 에겔바트와 동료인 빌 잉글리시가 만들었다. 수직을 맞물린 톱니바퀴가 커서를 움직이는 방식인데 현재의 볼마우스에 원리로 사용된다. 초기엔 이런걸 어디다가 쓰이냐고 박대 받았다고 한다. 심지어 컴퓨터 혁명이 일어나기 전에 특허의 만기가 다 되어서 로열티를 받지 못 했다고 한다.

1980년경에도 광마우스가 존재 했다. 이는 볼마우스중 볼의 움직임을 광센서로 감지하는 모델을 보고 볼을을 없애면 어떨까 하는 아이디어에서 개발되었다. 그러나 센서가 좋지 않아 오차가 많았었다. 따라서 너도 나도 볼마우스를 썼었는데, 비교적 간단한 동작구조와 어디서나 작동되는 범용성 덕분에 널리 오랜기간동안 사용 되었다. 허나, 볼에 먼지가 자주 껴서 청소를 해주어야 했고, 이 볼을 잃어버리면 사용을 못하는 경우가 왕왕생겼다. 또, 볼이 마모되어 미끄러지는 일이 생겼는데, 정밀작업을 못하게 되었다. 헌데 1990년대 들어서면서부터 기존에 사용하던 적외선 반사를 하지 않고 영상처리를 하는 기법도 들어설 정도로 광마우스의 성능이 대폭 향상되었다. 표면이 지나치게 균일치 않거나 적외선을 반사하지 않는 표면이 아니라면 거의 문제없이 작동되어 볼마우스는 멸종되어가는 북극곰으로 전락되었다. 대략적인 작동원리는 다음과 같다.

-붉은빛을 비스듬하게 쏘아 평평한경우엔 무늬로, 올록볼록한 경우 그림자에 의해 식별 가능한 수준의 도트를 만든다.

-해상도를 낮게하여 바닥의 이미지를 계속해서 동영상 촬영하듯 읽어낸다. 현재의 고성능 마우스는 초당 4천장의 이미지를 찍는다고 한다.

-DSP(Digital Signal Processor)가 검은 곳은 완전히 어둡게 하얀 부분은 완전히 희게 변화시킨다.

-검은점의 이동방향을 추적하여 계산한다.

대략 이런 작동방식을 가지고 있는터라 유리에서는 잘 작동되지 않는다. 하지만, 외계인 고문을 통하여 이것마저도 무시하고 작동되는 기종도 있다고 한다.

또, 유선 마우스를 지나 무선 마우스도 개발되었다. 와이파이나 전자레인지에 의해 간섭이 생기기도 하며, 유선 마우스보단 성능이 떨어지지만 간편하다는 장점이 있다. 애플사에서 제작한 마이티 마우스나 매직 마우스도 존재하는데, 손가락에 움직임으로 여러 기능을 넣었다. 특히 매직 마우스의 경우 최초의 상용화된 동시터치 마우스이다. 이외에 버티컬 마우스라 하여 손목을 수직으로 향하게 마우스를 디자인하여 손목에 무리를 가지 않는 디자인도 존재한다.

여담으로 마우스를 한국어로 '다람쥐'라 말을 쓰자는 운동이 있었지만 묻혔다...

문제 설명

8진수로 입력된 한 개의 정수를 10진수로 바꾸어 출력하는 프로그램을 작성해보자.

입력

8진수 한 개가 입력된다.

출력

입력 받은 8진수를 10진수로 바꾸어 출력한다.

입력 예시

13

출력 예시

11

도움말

int n;
scanf("%o", &n);
printf("%d", n);

(한편, C언어에서 소스 코드 작성시 0으로 시작하는 수는 8진수로 인식된다.)


Python 에선 int('x',n)을 쓰면 n진수 x를 10진수로 바꿔준다.