2014-12-22 2 views
1

스택 기반 VM에 10 진수를 저장하는 일반적인 방법은 무엇입니까? 내가 전문화 된 지시가 필요한가요? 내 현재 VM이 작동하는 방식은 PUSHI (정수를 스택에 푸시) 또는 ADD (맨 위의 두 값을 팝업하여 결과를 푸시)와 같이 명령어의 배열에있는 각 값이 정수 배열을 반복하는 방식입니다. 그러나, 나는 1.234와 같은 십진수를 취하여 스택에 푸시하는 방법을 확신하지 못합니다.스택 기반 가상 시스템에 10 진수 저장?

+0

"십진수"란 고정 된 크기의 고정 소수점 또는 고정 소수점 부동 소수점 숫자 또는 임의의 가변 숫자 자릿수를 보유하는 숫자를 보유하는 고정 크기의 개체를 의미합니까? , 또는 무엇을? – supercat

+0

나 한테 그걸 바보로 줄래? 또는 약간의 예를 들어, 난 꽤 이해가 안 돼요 : ( – user2588174

+0

무제한 정밀도 (총 메모리 제약 조건에만 적용)가있는 모든 크기의 십진수를 정확하게 표현할 수있는 십진 형식을 원하거나 크기 및 정밀도 (예 : 소수점의 왼쪽 12 자리 및 오른쪽 6 자리) – supercat

답변

0

지침이나 데이터에 "태그 지정"과 같은 어딘가에 유형 정보를 입력해야합니다. 어느 쪽이든, 원시 십진수를 관심있는 특정 비트 패턴과 일치하는 정수로 변환합니다.

예를 들어, IEEE 754는 부동 소수점 숫자의 공통 표준 이진 코드입니다.

+0

건배. 그 인코딩을 찾고 내 VM에서 그것을 구현 결국 :) 나는 int 값 및 데이터 형식 (int 또는 인코딩 된 float)의 열거 형을 포함하는 개체 구조체를 저장하기 위해 내 VM을 변경했습니다. – user2588174