CPUのワードサイズを調べる - lisp-cookbook-ja/common-lisp GitHub Wiki

プラットフォーム固有の情報

CPUのワードサイズを調べる

CPUのワードサイズを調べる確実な方法はありませんが、 machine-type にて主にアーキテクチャの情報、 machine-version でプロセッサ等のバージョンの情報を得られますので、これからマシンのアーキテクチャを割り出し判断することも可能でしょう。 また、多くの処理系では、アーキテクチャをfeaturesに格納していますので、これから判断する材料を得ることも可能でしょう。

machine-versionで確認

(machine-version)
;=> "AMD64"                                           ;Scineer CL
;=> "Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz" ;SBCL
;=> "X86_64"                                          ;CLISP

;; AMD64アーキテクチャなので64bit

machine-typeで確認

(machine-type)
;=> "X86_64" ;clisp
;=> "X86-64" ;sbcl
;=> "AMD64"  ;scl

;; AMD64アーキテクチャなので64bit

featuresで確認

;; SBCL
(find :x86-64 *features*)
;=> :X86-64

また、確実ではありませんが、fixnumのサイズから推し量る方法も考えられるでしょう

(integer-length most-positive-fixnum)
;=> 60 ;60bit以上の可能性が高い