피연산자의 충돌시 처리 (예: sign changer)
7+(-5) = ?
위 식을 일반 계산기로 계산할 때는
【7】【+】【5】【+/-】【=】 순서로 누르는 것이 맞습니다.
그리고 그 결과는 2가 나오죠.
질문)
그런데 계산기 입력에 익숙하지 못해
【7】【+】【+/-】【5】【=】 순서로 잘 못 눌렀다면
그 결과로 몇이 나올까요?
답)
(아직까지 확인된 바로는) 2 가지 경우가 있습니다.
- 1) 카시오 K타입의 경우 = 12
- 2) 그 외 계산기인 경우 = -2
이런 차이가 발생한 것은
operator 에게 필요한 oprerand가 바로 나오지 않고
다른 operator가 등장했기 때문인데요.
이러한 예외상황을 계산기가 어떻게 처리할 것인가에 대한 문제입니다.
위의 예에서는
【+】【+/-】 로 sign changer 앞에 피연산자(숫자)가 아닌 연산자 + 가 있습니다.
결과로 '-2' 가 나온 계산기는 + 연산자를 무시하고 그 앞의 숫자(7)까지 찾아가서
sign changer 기능을 적용을 한 것이구요.
결과로 '12'가 나온 계산기는 + 연산자를 무시하지 못하고,
연산자 사이에 빈 데이터가 있다고 가정하고 적용(=결과적으로 취소)
되었다고 보시면 될 것 같습니다.
* 제 추측에 의한 설명이니, 보다 정확히 알고 계신다면 댓글 남겨주시면 감사하겠습니다.
세상의모든계산기 님의 최근 댓글
참고 https://allcalc.org/52065 TI NSPIRE CX CAS 복소수 관련 문제 문의 드립니다. 2025 09.28 Rectangular 설정시 ▶Polar 2025 09.28 Real or Cpmplex Format : Polar 설정시 2025 09.28 비교 AC-68U[ ID] Interval Transfer Bandwidth[ 4] 0.00-10.00 sec 475 MBytes 398 Mbits/sec sender[ 4] 0.00-10.00 sec 475 MBytes 398 Mbits/sec receiver 2025 09.24 비교 : AC-68U [ ID] Interval Transfer Bandwidth [ 4] 0.00-10.01 sec 65.0 MBytes 54.5 Mbits/sec sender [ 4] 0.00-10.01 sec 65.0 MBytes 54.5 Mbits/sec receiver 이상해서 다시 접속 C:\iperf-3.1.3-win64>iperf3.exe -c 192.168.68.36 -p 5000 -t 10 -f m -i 2 Connecting to host 192.168.68.36, port 5000 [ 4] local 192.168.68.217 port 12792 connected to 192.168.68.36 port 5000 [ ID] Interval Transfer Bandwidth [ 4] 0.00-2.00 sec 22.4 MBytes 93.7 Mbits/sec [ 4] 2.00-4.00 sec 24.5 MBytes 103 Mbits/sec [ 4] 4.00-6.00 sec 23.6 MBytes 98.9 Mbits/sec [ 4] 6.00-8.01 sec 24.2 MBytes 101 Mbits/sec [ 4] 8.01-10.00 sec 24.1 MBytes 102 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth [ 4] 0.00-10.00 sec 119 MBytes 99.7 Mbits/sec sender [ 4] 0.00-10.00 sec 119 MBytes 99.7 Mbits/sec receiver * 공유기 2.4G 연결된 장치가 많아서 연결속도/다운속도가 떨어지는 것이 아닌가 합니다. 2025 09.24