문제

며 왜 그들은 변경은?

편집:이유를 요청이기 때문에 나는 새로운 emacs 및를 사용하고 싶 Emacs 으로"프로그래머 계산기".그래서,내가 조작할 수 있습 32 비트&64 비트의 정수이고 있는 그들을 행동하라 그들이 네이티브 기계입니다.

도움이 되었습니까?

해결책

Emacs-Lisp 은 동적으로 입력한 언어입니다.이 필요가 있다는 것을 의미 태그를 입력하십니다.하고 싶은 경우에는 숫자,당신은 따라서 일반적으로가는 그들의 일종으로는 태그는 컨테이너에게 포인트를 받을 수 있습니다(i.e"상자에"그들)이 없기 때문에,방법의 구별되는 포인터에서 기계는 정수에서 런타임없이 어떤 종류의 태그 추가 체계입니다.

효율성에 대한 이유로,대부분의 패키지 구현에 따라서 하지 않은 원시 포인터를 사용하지만 내 생각이라는 설명자 합니다.이러한 설명은 일반적으로 단일 컴퓨터 단어를 나타낼 수 있는 포인터로,unboxing 번호(so-called fixnum다),또는 하나의 기타 다양한 하드 코딩된 데이터 구조(그것의 가치가 종종 인코딩 NIL 다 세포 특별히,도에 대한 예).

지금은,물론,를 추가하는 경우 형식 태그,당신은 없이 가득 32 비트가 남수,그래서 당신은 왼쪽으로는 26 비트로 MIT 에서 체계 또는 29 비트로에서는 이맥스 또는 다른 비트의 개수는 사용하지 않았을 위해 줍니다.

일부를 구현의 다양한 동적 언어로 예약 여러한 태그 fixnums 그래서 그들은 당신을 줄 수 있 30-bit 또는 31 비트 fixnums.SBCL 중 하나입의 구현은 일반적인되는 Lisp .나는 생각하지 않는 합병증이 발생 하는 것은 가치가 그것을 위해 Emacs,하지만.얼마나 자주 당신은 빨리 필요 30-bit fixnum 산 반대 29-bit fixnum 산서 텍스트 편집기 지 않더라도 컴파일의 리스프로 코드를 컴퓨터 코드(또는 그것을 무엇입니까?내가 기억하지 않는,실제로)?은 당신이 쓰 distributed.net 클라이언트에 Emacs-Lisp?더 스위치 Common Lisp,다음!;)

다른 팁

나머지는 3 비트로 사용되는 플래 Lisp 통역입니다.(당신이 얻을 수 있는 큰 정수를 컴파일하여 이맥스를 위한 64 비트 컴퓨터.)

다른 사람에 댓글을 왜 fixnums 은 29bits 넓습니다.하지만 당신이 원하는 경우 프로그래머의 계산기,체크 아웃 calc.제공하는 임의의 정밀도 정수,행렬 작업 단위 변환,그래픽을 통해 gnuplot,통계 기능,금융 기능,과학적 기능,RPN 및 대수 표기,공식 단순화...그리고 그것은 이미 부분의 Emacs,그래서 시작하려면 방문 정보에 대한 노드"calc"과에서 시작습니다.

다른 세 개의 비트는 이용으로 태그 형식의 개체입니다.이렇게 될하는 데 사용하고 유행의 번호 CPU 아키텍처에 포함되는 적어도 일부 지원에 대한 태그는 정수에서 자신의 명령어 집합:Sparc, 알파, Burroughs, 고 K-기계 예를 들어.요즘 우리는 Lisp 런타임을 다루는 태그를 추가하지 않고 하드웨어 지원합니다.내가 읽는 것이 좋습니다 첫 번째 링크에 대한 Sparc,을 얻고 싶은 경우의 역사입니다.

에서 많은 Lisp 구현,일부는 비트 단어가 사용됩니다.이 수 있습 같은 것들을 쓰레기 수집가 무엇이 포인터 및 무엇인지 않습니다.

왜 당신이 얼마나 큰 Elisp fixnum 입니까?당신이 열 수 있습니다 거대한 파일로 그것입니다.

내가 사용하는 일반적인 Lisp 통역 적으로 프로그래머의 계산기입니다.Common Lisp 는 별난 번호를 처리하는 본에서 어떤 프로그래밍 언어특히,그것의 정수 임의 크기,즉도록 설정을 변경하고 싶을지도 모릅뿐만 아니라,합리적인 숫자입니다.그것은 또한 입력 임의의 숫자를 기지와 비트 기능도록 설정을 변경하고 싶을지도 모릅.을 계산할 경우 내에서 Emacs,실행할 수 있습니다 적 M x 쉘입니다.보너스로,구문은 거의 동일한으로 사용하는 것이 무엇인가에 Emacs Lisp.

는 진정한 32 비트를 아키텍처는 변경될 수 있습에 기반을 구축 옵션이 있습니다.다른 비트가 사용한 태깅 기본적인 데이터 구조입니다.

당신이 사용할 수 있는 64 비트 구축하고 있는 큰 정수,고 있는 패키지를 임의로 큰 정수 연산입니다.

또는,당신은 단지 요청에는 수사학적 질문을하려는 소리가 화가 중요...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top