アカウント名:
パスワード:
str2num "54321"
は、
5*10000 + 4*(10000/10) + 3*(1000/10) + 2*(100/10) + 1*(10/10)
という計算している?普通は、
((((0*10 + 5)*10 + 4)*10 + 3)*10 + 2)*10 + 1
とするんだけどなぁ。Cで書けば、
int res = 0;char* s = var;while (*s) { res = res * 10 + (*s - '0'); ++s;}
movzxというニモニックがあったんですね。[]という演算子も初耳でした。こちらの勉強不足でした。ご指摘ありがとうございます。
今後も懲りずにここにいろいろなコードを書くと思いますので、その時もどなたかよろしくお願いします。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家
割り算はいらない。 (スコア:0)
は、
という計算している?普通は、
とするんだけどなぁ。Cで書けば、
Re: (スコア:1)
それに付け加えて、マクロなのに、どうしてリテラルとして文字列を渡してランタイム変換するのか謎です。
単に、
str2num MACRO str:REQ
lea ecx, str
xor eax, eax
.WHILE 1
movzx edx, BYTE PTR [ecx]
inc ecx
.BREAK .IF edx == 0
lea eax, [eax * 4 + eax]
lea eax, [eax * 2 + edx - 30H]
.ENDW
ENDM
で良いのでは?
Re:割り算はいらない。 (スコア:1)
movzxというニモニックがあったんですね。[]という演算子も初耳でした。
こちらの勉強不足でした。
ご指摘ありがとうございます。
今後も懲りずにここにいろいろなコードを書くと思いますので、
その時もどなたかよろしくお願いします。
By KMY