CommonLisp初心者スレ
■ このスレッドは過去ログ倉庫に格納されています
0459デフォルトの名無しさん
NGNGとりあえず片方だけ。
(defun convert-hex-double (integer)
(let ((sign (logand (ash integer -63) 1))
(exponent (- (logand (ash integer -52) #xffff) 1023))
(mantissa (logior #x10000000000000 (logand integer #xfffffffffffff))))
(* (if (zerop sign) mantissa (- mantissa)) (float (expt 2 (- exponent 52)) 0d0))))
■ このスレッドは過去ログ倉庫に格納されています