저는 컴파일러 세계에서 새로운 학생입니다.^_^스택에 음수가 합법적임을 나타냅니다. 예를 들어스택에 음수가 있습니다.
:
중위 1-5 = -4 후위 : 15
명령문은 :
push(1)
push(5)
x=pop()
y=pop()
t=sub(y,x)
push(t)
스택의 최종 결과가 될 것이다 (-4)
합법적 인 경우 어떻게 표현할 수 있습니까 ??
감사합니다.^_^
저는 컴파일러 세계에서 새로운 학생입니다.^_^스택에 음수가 합법적임을 나타냅니다. 예를 들어스택에 음수가 있습니다.
:
중위 1-5 = -4 후위 : 15
명령문은 :
push(1)
push(5)
x=pop()
y=pop()
t=sub(y,x)
push(t)
스택의 최종 결과가 될 것이다 (-4)
합법적 인 경우 어떻게 표현할 수 있습니까 ??
감사합니다.^_^
예. 음수는 메모리에 Two's complement form에 저장되므로 서명을 위해 스택에 추가 셀이 필요하지 않습니다.
스택에 대해 말하면 추상적 인 데이터 유형에 대해 이야기합니다. push/pop 기능을 가지고있는 한, 스택에 넣은 것과 아무런 차이가 없습니다.
먼저 빼기 연산자와 음수 기호로 사용되는 대시 '-'사이에 차이점이 있습니다. 우리는 같은 성격을 사용하지만, 다른 의미를 가지고 있습니다.
-4와 같이 양수와 음수 모두 스택의 슬롯 하나만 사용합니다. 당신의 postifx 언어는 한 자리 정수와 산술 연산자를 취할 수있는 경우
, 당신은 0에서 뺀 음수를 나타낼 수
04-2 +
이에 해당합니다
에 중위 표기0-4 + 2
다음은 몇 가지 용어입니다. 빼기 연산은 "이진 연산자"입니다. 즉, 두 개의 피연산자가 필요합니다. 음수 기호는 "단항 연산자"입니다. 즉, 하나의 피연산자를 사용합니다. 중위 연산자와 피연산자는 이항 연산자와 피연산자에 대한 표기법입니다.
당신이, 당신은 아마 당신의 표현에 대한 몇 가지 문법 규칙을 정의 할 텍스트로 (아마도 당신의 프로그램에서 읽을 수있는 파일) 발현을 나타내는 언급하는 경우- 공백으로 토큰의 분리를 말한다
예를 들어, 접미사에서 444/(4/44) 또는 (44/4) 또는 (4/(4/4))와 동일합니까? 여러 자리 숫자를 구분하는 몇 가지 방법이 필요합니다. 이제
, 당신이 공백을 결정 가정, 당신은 (3 음의 정수가 어떤 분리 공백
그래서 중위 표현 '-1 *없이 일련의 숫자 다음에 마이너스 기호 것이 규칙을 만들 수^(-4) - 7 '은 (는)'-1 -3 -4^* 7 - '이 (가) 될 수 있습니다 이것은 무엇을 찾고 있었습니까?
PS - 적절한 파서를 사용하면 연산자에 공백없이 실제로 처리 할 수 있지만 여전히 피연산자를 서로 구분해야합니다.
나에게 맞는 것 같아. 무슨 문제 있니? –