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