17/08/19 22:21:43.67 4ts6F31U.net
ウディタで20億以上の数値を扱える方法はないでしょうか
仕様上の限界が32bit限界の20億なので、桁ごとにわけて計算できないかな?と思い、
4桁毎に数値を万、億、兆、という具合に分けて計算できないかと弄っていたものの、なかなかうまくいきませんでした
20億(できれば100万)未満の桁数でうまくやりくりできる方法や、コモンをご存知の方はいませんか?
1051:名前は開発中のものです。
17/08/20 02:12:26.87 tptsJ3q3.net
普通にその方法でできない?
変数0 (0~10^4-1を扱う)、変数1((10^4~10^8-1を扱う)、変数2 (10^8~10^12-1を扱う)……変数n(10^(4n)~10^(4n+4)-1)……て感じに用意すると仮定すると
加算減算の場合は各要素毎に足し引きして繰り上げと繰り下げをすればいい。4桁で考えた場合、変数nが10000以上だった場合は変数nから-10000して変数n+1に1を加算(繰り上げ)。変数nが0未満だった場合は変数n+1から-1して変数nに10000を加算(繰り下げ)
扱う値が負の場合はこの逆
乗算の場合は各要素毎に乗算して足し合わせればいい。ある数字の変数nとある数字の変数mを乗算して別に用意した変数m+n番目に加算して溢れた分を変数m+n+1番目に加算するってのを繰り返すだけ
乗算する変数の数が多すぎた場合はToom-Cook法とか使ったほうがいいけど
除算の場合は符号と桁を合わせて引いていけばいい
1052:名前は開発中のものです。
17/08/20 12:02:04.22 zwc+ugAo.net
考え方自体はあってたみたいでした
そのまま打ち込もうとするとソースが長くなってしまいますが、とりあえず作り続けてみます
ありがとう
1053:名前は開発中のものです。
17/08/20 23:33:47.94 tptsJ3q3.net
URLリンク(light.dotup.org)
URLリンク(light.dotup.org)
URLリンク(light.dotup.org)
URLリンク(light.dotup.org)
URLリンク(light.dotup.org)
こんなもんだからそこまで長くならんと思うけど。ちゃっちゃと作っただけだから所々怪しいけど参考程度に
疲れたからdivideは作ってない。addは多分もうちょっと短く出来るかな
1054:名前は開発中のものです。
17/08/20 23:38:17.84 tptsJ3q3.net
もう残り少ないし次スレ建てるわ
めんどいしテンプレそのままで建てる
1055:名前は開発中のものです。
17/08/20 23:43:32.52 tptsJ3q3.net
ほい
WOLF RPGエディター 質問スレ 其の11 [無断転載禁止]©2ch.net
スレリンク(gamedev板)
1056:名前は開発中のものです。
17/08/20 23:44:11.28 tptsJ3q3.net
うめ
1057:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 456日 8時間 9分 40秒
1058:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています