計算用のプログラムを組み立てているんですが、
10^30や10^-30等の極端に大きい数字や小さい数字は
どのように扱えば良いのでしょうか?
有効桁数を超えると、当然ながら誤差が酷くなってしまうので……
多倍長演算
0-99まで表現できる型を二つ並べれば0-9999まで表現できる
intは最大42億なので、0-999999999を表現できる、これを二つ並べれば18桁表現できるし、四つ並べれば36桁表現できる
299 :
297:2012/01/18(水) 18:08:54.03
>>298 レスありがとうございます。
ただ、今回はその手法が使えないという縛り?的なものがあるので、
なにかしらの工夫ができないかなという事でして。
正確な値でなくても、ある程度の近似値で十分なのですが。
極端に大きい部分と極端に小さい部分を分けて考えるようにする。
301 :
297:2012/01/18(水) 18:21:26.39
例えば、
1.23456 + 10^50 で、
10^50の部分と、有効数字部分で別々に処理する、
といった感じですかね?
なんでxmlファイルの名前は
「p0015MpQ.xml」
みたいにp0+数値2桁+アルファベットor数になるんですか
特に下4桁の法則性を教えてください
xmlファイルの名前くらい好きな名前にすりゃええやん
>>301 そんな感じ
小さい数を大量に足す足し算とかだと、
単純に1つの変数に足し込んで行くと
そのうち桁落ち誤差が大きくなってくるので、
小計をとりつつ小計の合計を求める、とかよくやる
あとは使用する式を見直す場合もある
x が 1 に非常に近い値になると分かっている場合は
y=1-x となる y を求める式を作って、その y を求めてから x=1-y を求める、とか
まあ普通に考えたらそうだろうな
ちょっと調べたくらいじゃ何のソフトを使ってるかは分からなかったが・・・
307 :
デフォルトの名無しさん:2012/10/07(日) 09:22:25.07
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
308 :
デフォルトの名無しさん:2012/10/07(日) 12:55:00.50
質問する奴は死ね
310 :
デフォルトの名無しさん:2013/03/21(木) 13:26:30.18
質問
312 :
デフォルトの名無しさん:2013/03/21(木) 17:28:57.96
ケンシロウ
313 :
宇宙人:2013/11/01(金) 17:13:09.29
エスパー不在のようなので、宇宙人が君らの素朴な疑問に答えちゃうぞ☆
314 :
地底人:2013/11/01(金) 17:28:43.39
>>313 最後の大便は何色ですか?
私は黒でした
315 :
宇宙人:2013/11/01(金) 18:30:09.23
個人的な質問は差し控えさせていただきます☆
宇宙vs地底
317 :
デフォルトの名無しさん:2013/12/07(土) 10:40:17.93
オンライン化してください
318 :
デフォルトの名無しさん:2013/12/10(火) 10:26:30.73
いま、人の書いたC++(Linux)をデバッグ中です。
templateがごった煮状態で苦労しています。
で、おかしなところを発見しました。
あるクラスのメンバ関数を呼び出したら、
メンバ関数が実行された後に
そのクラスのコンストラクタが
実行されるのです。
こういう順番ってあるのですかね?
それともコンパイラのバグですかね?
>>318 戻り値の型そのクラスになってるんなら、そういうこともあるだろうな。
320 :
デフォルトの名無しさん:2013/12/10(火) 11:21:13.71
>>319 ありがとうございます!
そのクラスへの参照を受け取ってる形式になってます。
エスパーすげーな。
322 :
デフォルトの名無しさん:2013/12/10(火) 12:45:36.70
本当にすごいですね。脱帽です。
エディタの使い方なんですが
"丑",
"寅",
"卯",
"辰",
"巳",
"午",
"未"
"申"
"酉"
"戌"
"亥"
と打つさいに、 「,」 をそれぞれにつけ忘れた場合、一括で自動につけれるようなエディタの操作の方法というのはどうすればよろしいでしょうか?
教えるのがめんどくさければ、どのようなサイト、本をみればいいかだけでもおしえていただけないでしょうか?
vi:
%s/"$/",/
今まで、borlandでコンパイルしてたのですが、エクリプスの動作について不明なので教えてください。、
Cのコンパイルで、
#include <stdio.h>
void hello(int x, int y){
int i;
for(i = 0; i < y; i++)
printf("hello : %d\n", x);
}
int main(void)
{
int n;
printf("繰り返しの数を入力してください:");
scanf("%d", &n);
hello(3, n);
return 0;
}
このように入力を要求されるファイルを作成すると、 必要なプロジェクトにエラーがあります。
とエラーが帰ってきます。 ちなみに printfだけであれば普通にコンソールに表示がされます。
何か設定をし忘れてるのでしょうか?
327 :
326:2013/12/11(水) 03:44:17.22
>>326 の質問をしたものですが、
the program file specified in the launch configuration does not exist となり
自分のディレクトリの exeファイルがみつかりません。
とエラーが出ています。
>>324-325 そんなに形式がはっきりしているなら、
いったん、全行のカンマを取ってから、
全行にカンマを付けると良い
vi(vim)を使って、正規表現で、
文字の削除や置換ができるかな?
あまり、viを使ってないから、よくわからん
自分で調べて
329 :
デフォルトの名無しさん:2013/12/11(水) 11:23:19.06
Windows7にVMware playerをインストールしてゲストOSにubuntu12を
インストールしました。
VMwareのウィンドウでubuntuで作業をするとき、
VMwareのウィンドウのサイズを変更してすこし小さくしようとすると、
いきなりすごく小さなウィンドウになってしまって、
ubuntuで開いていたアプリが全て全画面表示になってしまいます。
ubuntuのそれぞれのアプリのウィンドウが全画面にならないような
設定をどうやってやればいいでしょうか?
よろしくお願いします。
Windows7とそのエクスプローラを改造するちょっとしたツールをC++かC#で作ろうと思いますが
資料として必要な本は何ですか?(何冊でも)
C++言語自体はCLI OSレベルでなら学校で一通り習ったけど実際にWindowsアプリを作ったことはないレベルです
こんにちは。
プログラマー板に書いちゃって誘導されてきました。宜しくお願いします。
aliases でメール転送で スクリプトを実行させたくて
mail: | "/.../php -f /.../hoge.php"
と書いたんです。PHPは実行されているようなんですが、
このPHPの中で 標準入力を受け付けるところがあるんです。
$fp = fopen('php://stdin', 'r');
ここの行で止まってしまっています。なぜでしょうか。
aliases で php に渡さなくて別のメールアドレスを書いたら転送されてたので…
困っています。助けてください。お願いします><
phpのバージョンは?
335 :
デフォルトの名無しさん:2014/03/07(金) 14:38:11.92
336 :
デフォルトの名無しさん:2014/03/08(土) 17:00:10.79
WindowsOSでウィンドウ表示やコントロールのイベントを拾うプログラムを作ろうと
ネットでサンプルを探したんですが、なんかどこもサンプルはC言語です。
C++で書いたソースをサンプルに解説をしているサイトないでしょうか?
むしろC#のWindowsフォームばかり見つかると思うんだが。
C++ならMFCをキーに入れて検索すればいい。
338 :
デフォルトの名無しさん:2014/03/09(日) 11:10:56.95
>>332 Maicrosoft社のWindowsの内部資料
>Maicrosoft社
>>332 インサイドWindows
Advanced Windows
さ
わ
わ
ね