■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50

レス数が950を超えています。1000を超えると表示できなくなるよ。

Emacs part6

915 :名無しさん@Emacs :02/12/29 00:22
ちょうど一日前の日付けと時間を得るような関数を作ろうと思ったのですが、
elisp で↓のような演算は出来るでしょうか?

int32 a b c;
a = (int32) current-time[0]; /* current-timeは16ビット正整数のリストです。*/
b = (int32) current-time[1];
c = (a << 16 + b ) - 86400;

# ビット演算の関数名と 16bit <-> 32bit の型変換のやり方がわかりません。

916 :名無しさん@お腹いっぱい。 :02/12/29 00:38
ビット演算の関数はelispのマニュアルに載ってた
入力の current-time[0] と current-time[1]が
何を表してるのか漏れには良く分からないが

(defun previous-day (current-time)
(let ((a (car current-time))
(b (cadr current-time)))
(- (+ (lsh a 16) ; aを16ビット左にシフト
b)
86400)))

(previous-date '(23 15))


917 :名無しさん@Emacs :02/12/29 00:46
>>916さん
THX
マニュアルきちんと読んどきます。


続きを読む

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver5.26+ (01/10/21-)