街中で見かけて「グッときた人」の思い出

秀丸マクロ、プログラム初心者です。
秀丸マクロでunsigned _int64(20桁)の数値文字列の引き算をしたいのですが、うまくいきません。
秀丸で扱えるのがint(10桁)のため、文字列を単純に数値変換して計算ががきません。
20桁の文字列を2桁、9桁、9桁の3ブロックに分けて、unsigned _int64のロールオーバーや桁上がり(ブック上がり)を考慮しながらブロックごとに引き算をし、文字列に戻しているのですが、計算結果が期待通りになりません。
秀丸でのよい方法、または秀丸ではなくとも、上記と同じことをしているソースなどあれば教えていただけると幸いです。

ちなみに職場環境でインストール制限等がありできれば秀丸がよいのです。

A 回答 (1件)

・10桁と書いてありますが、表現できるのは符号付き32bitの範囲なので、99...9まで全て使えるわけではありません。


・比較的簡単な手段は、配列を使って1桁1要素にして、小学校の筆算の要領でやることだと思います。
・その他、なにがどううまくいかなかったのかが不明なので、回答できません
    • good
    • 1
この回答へのお礼

kmeeさん
返信ありがとうございます。
方法論としてよいやり方、極力スマートなやり方ががないかと思っていました。
でもようやく3ブロックに分けた計算で正しく計算ができました。

>配列を使って1桁1要素にして、小学校の筆算の要領・・・
なるほどですね。
ロールオーバーしていたら最大値からの引き算を加えればよいのですね。
スマートにできそうですね。
作りなおそうかな。。。。
ありがとうございました。

お礼日時:2012/01/05 21:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!