前スレ
C++相談室 part157
https://mevius.5ch.net/test/read.cgi/tech/1628474251/
探検
C++相談室 part158
■ このスレッドは過去ログ倉庫に格納されています
2021/11/15(月) 18:49:18.44ID:I69rZ/Of
482デフォルトの名無しさん
2021/12/22(水) 18:49:46.59ID:ycAkB2VB483デフォルトの名無しさん
2021/12/22(水) 19:44:38.16ID:VkqlmauA 何に使いたいのか知らないけど、C++やめてRustの方がいいんじゃないの?
484デフォルトの名無しさん
2021/12/22(水) 20:00:31.77ID:j6Uulo2p 高速grepツールとして有名なripgrepはRustで作られてるからRustは優れた言語なのだろう、ぐらいなことは察せられるが
485デフォルトの名無しさん
2021/12/23(木) 08:08:59.49ID:zbE03cOE >>483
rustなんてプログラム初級者に勧めるなよ。
あんなの習熟した上級者向けの言語だわ。c++以上に初級者向け解説が無いのは致命的。
あと、Rustはスレ違いだからな。このコメにもレスするなよ。
rustなんてプログラム初級者に勧めるなよ。
あんなの習熟した上級者向けの言語だわ。c++以上に初級者向け解説が無いのは致命的。
あと、Rustはスレ違いだからな。このコメにもレスするなよ。
486デフォルトの名無しさん
2021/12/23(木) 09:13:28.05ID:cFIeneRn487デフォルトの名無しさん
2021/12/23(木) 09:43:11.86ID:TuHGjVDJ Rust は良いアプローチだがどうしても記述量が多くなるから敬遠してる
488デフォルトの名無しさん
2021/12/23(木) 11:51:22.33ID:Gjq2t2pD >>486
ポインタは名札のメタファーを使った説明が確立しているけど、所有権、譲渡、借用、ライフタイムの初心者向け説明はクソみたいのしか無いだろ。そんなもん初級者に紹介するなよ。
スレ違いでわざわざ役立たずを紹介するやつは何を考えているんだろうかね?
ポインタは名札のメタファーを使った説明が確立しているけど、所有権、譲渡、借用、ライフタイムの初心者向け説明はクソみたいのしか無いだろ。そんなもん初級者に紹介するなよ。
スレ違いでわざわざ役立たずを紹介するやつは何を考えているんだろうかね?
489デフォルトの名無しさん
2021/12/23(木) 12:29:11.30ID:cFIeneRn490デフォルトの名無しさん
2021/12/23(木) 12:33:21.82ID:lsirm1I0 .hや.cpp以外からいじられたくない変数に対するインライン関数をパブリックに公開したいのですが、classを利用する以外にこのような事はできないのでしょうか?
staticや無名名前空間を利用するとcppファイルで利用できなくなりますしやはりclassを使えということでしょうか?
extern int value; //これは隠蔽したい
inline bool IsZero() { return value == 0; } //これはグローバルに利用してもらいたい
staticや無名名前空間を利用するとcppファイルで利用できなくなりますしやはりclassを使えということでしょうか?
extern int value; //これは隠蔽したい
inline bool IsZero() { return value == 0; } //これはグローバルに利用してもらいたい
491デフォルトの名無しさん
2021/12/23(木) 12:43:43.47ID:N07J633j namespace {
extern int value; //これは隠蔽したい
}
inline bool IsZero() { return value == 0; } //これはグローバルに利用してもらいたい
extern int value; //これは隠蔽したい
}
inline bool IsZero() { return value == 0; } //これはグローバルに利用してもらいたい
492デフォルトの名無しさん
2021/12/23(木) 12:44:08.09ID:IRDqWaPI493デフォルトの名無しさん
2021/12/23(木) 12:44:27.15ID:N07J633j もとい
namespace {
int value; //これは隠蔽したい
}
inline bool IsZero() { return value == 0; } //これはグローバルに利用してもらいたい
namespace {
int value; //これは隠蔽したい
}
inline bool IsZero() { return value == 0; } //これはグローバルに利用してもらいたい
494デフォルトの名無しさん
2021/12/23(木) 12:47:57.55ID:IRDqWaPI >>493
関数内にstatic変数持てなかったっけ?
関数内にstatic変数持てなかったっけ?
495デフォルトの名無しさん
2021/12/23(木) 12:52:37.53ID:IRDqWaPI496デフォルトの名無しさん
2021/12/23(木) 12:58:20.57ID:cFIeneRn497デフォルトの名無しさん
2021/12/23(木) 12:59:07.12ID:6GqfEn2+ valueの立ち位置が気になるが
extern(実行ファイル内で全部共通)するならinline関数のIsZeroが見えた時点でvalueも見えてないといけない
extern(実行ファイル内で全部共通)するならinline関数のIsZeroが見えた時点でvalueも見えてないといけない
498デフォルトの名無しさん
2021/12/23(木) 13:03:49.15ID:cFIeneRn class hoge {
static int value;
public:
static bool IsZero() { return value == 0; }
};
inline bool IsZero() { hoge::IsZero(); }
int main() {
return IsZero();
}
static int value;
public:
static bool IsZero() { return value == 0; }
};
inline bool IsZero() { hoge::IsZero(); }
int main() {
return IsZero();
}
499デフォルトの名無しさん
2021/12/23(木) 13:07:02.43ID:lsirm1I0500デフォルトの名無しさん
2021/12/23(木) 13:20:56.47ID:cFIeneRn JavaやC#でもそんなところに可視性の定義はない。
501デフォルトの名無しさん
2021/12/23(木) 17:32:16.18ID:SEEFcByD >>496
相手がなんでc++を使っているのかのニーズすら確認しないで何を独りよがりなことを言っているんだよ。
相手の目的を無視してスレ違いのツールを薦めるのはアホのやること。
Rustの伝道師はこんな低レベルなのかね。
相手がなんでc++を使っているのかのニーズすら確認しないで何を独りよがりなことを言っているんだよ。
相手の目的を無視してスレ違いのツールを薦めるのはアホのやること。
Rustの伝道師はこんな低レベルなのかね。
502デフォルトの名無しさん
2021/12/23(木) 17:36:54.99ID:N07J633j あーうるせえ
C++スレでRust Rust連呼すんな
寒すぎんだよ
C++スレでRust Rust連呼すんな
寒すぎんだよ
503デフォルトの名無しさん
2021/12/23(木) 18:02:45.75ID:cFIeneRn504デフォルトの名無しさん
2021/12/23(木) 19:12:55.62ID:AUfS9hAV >>493
試してないけどこんなのはどうかね。
#include <iostream>
#include <cstdlib>
class Accesser;
class Wall {
static int & val(){ static int v; return v; };
friend Accesser;
};
class Accesser {
public:
Accesser(){
int &v=Wall::val();
v=1;
}
~Accesser(){
std::cout << Wall::val()<< std::endl;
}
};
int main()
{
Accesser a;
std::cout << "Hello, Wandbox!" << std::endl;
}
試してないけどこんなのはどうかね。
#include <iostream>
#include <cstdlib>
class Accesser;
class Wall {
static int & val(){ static int v; return v; };
friend Accesser;
};
class Accesser {
public:
Accesser(){
int &v=Wall::val();
v=1;
}
~Accesser(){
std::cout << Wall::val()<< std::endl;
}
};
int main()
{
Accesser a;
std::cout << "Hello, Wandbox!" << std::endl;
}
505デフォルトの名無しさん
2021/12/23(木) 19:32:24.95ID:3yOXD4ws inlineで書きたいらしいので、それだとコンパイル単位で値が変わっちゃうのでは?
506デフォルトの名無しさん
2021/12/23(木) 19:55:38.05ID:CLdJLYY1507デフォルトの名無しさん
2021/12/23(木) 20:02:52.87ID:cFIeneRn クラス内に実装を書くなどヘッダにあればどの道インラインだと思う
508デフォルトの名無しさん
2021/12/23(木) 20:05:51.29ID:cFIeneRn staticは静的に確保されるので、インライン展開されても同じシンボルを参照する
509デフォルトの名無しさん
2021/12/23(木) 20:30:35.89ID:cFIeneRn510デフォルトの名無しさん
2021/12/23(木) 21:54:27.28ID:4lOSoN0i メモリ確保用途でvectorやstringつかい
ポインタアクセスすれば、new で確保するのと速度に大差ないとおもうんですが
実測すると10%〜くらいSTLつかうほうが速度低下するみたいなんですが
直メモリアクセスでも落ちるのはなぜなんでしょうか
ポインタアクセスすれば、new で確保するのと速度に大差ないとおもうんですが
実測すると10%〜くらいSTLつかうほうが速度低下するみたいなんですが
直メモリアクセスでも落ちるのはなぜなんでしょうか
511デフォルトの名無しさん
2021/12/23(木) 22:14:02.53ID:6YhOrdG1 その計測コード貼ってみ
多分メモリアクセスとは関係ない所で時間食ってる
多分メモリアクセスとは関係ない所で時間食ってる
512デフォルトの名無しさん
2021/12/23(木) 22:16:19.47ID:lsirm1I0513510
2021/12/23(木) 22:21:06.77ID:4lOSoN0i514デフォルトの名無しさん
2021/12/23(木) 22:38:03.27ID:MjSWMWRR 1秒もかかる?
515510
2021/12/23(木) 22:49:58.53ID:4lOSoN0i こっちだと大差がついてるんですが
家のPCでもideone.comよりも差が付きます vector確保のほうが遅い
https://paiza.io/projects/9wWo36-bjTCL_S0WcGbaWA
vector : 459.154 ms
new char : 184.758 ms
new int32 : 167.899 ms
家のPCでもideone.comよりも差が付きます vector確保のほうが遅い
https://paiza.io/projects/9wWo36-bjTCL_S0WcGbaWA
vector : 459.154 ms
new char : 184.758 ms
new int32 : 167.899 ms
516510
2021/12/23(木) 22:55:16.12ID:4lOSoN0i 自己解決しました
メモリ確保と解放部分を含めて計測してたのを
コピー部分のみの測定にしたらほぼ一緒になりました
https://paiza.io/projects/ge5iOWrzGu2E2PjogsRlUw
vector : 219.947 ms
new char : 204.565 ms
new int32 : 214.644 ms
メモリ確保と解放部分を含めて計測してたのを
コピー部分のみの測定にしたらほぼ一緒になりました
https://paiza.io/projects/ge5iOWrzGu2E2PjogsRlUw
vector : 219.947 ms
new char : 204.565 ms
new int32 : 214.644 ms
517デフォルトの名無しさん
2021/12/23(木) 22:55:24.77ID:6YhOrdG1 ほとんどメルセンヌツイスタの実行時間じゃね
518デフォルトの名無しさん
2021/12/23(木) 22:56:40.08ID:MjSWMWRR 確保にかかってると思う?
一秒はさすがにないと思う。
何かおかしいな。
一秒はさすがにないと思う。
何かおかしいな。
519デフォルトの名無しさん
2021/12/23(木) 22:58:15.18ID:MjSWMWRR vector云々以前に、newバージョンも遅すぎると思う。
話にならないくらい。
i8008とかじゃないよね?
話にならないくらい。
i8008とかじゃないよね?
520デフォルトの名無しさん
2021/12/23(木) 23:00:56.66ID:6GqfEn2+ C++/CLIでstd::mutex使えないのなんでなん?
頑張ってWin32APIで代用する気力はあるけどわざわざ無効化されてる理由が知りたい
頑張ってWin32APIで代用する気力はあるけどわざわざ無効化されてる理由が知りたい
521510
2021/12/23(木) 23:05:52.89ID:4lOSoN0i メモリ確保・解放と、メルセンヌツイスタを外して計測したら
今度はvectorのほうが圧倒的に早いんですが
https://ideone.com/rKv4qv
vector : 237.55 ms
new int32 : 713.82 ms
今度はvectorのほうが圧倒的に早いんですが
https://ideone.com/rKv4qv
vector : 237.55 ms
new int32 : 713.82 ms
522デフォルトの名無しさん
2021/12/23(木) 23:26:56.25ID:4lOSoN0i 計測時間は、ある程度の長さで、オンライン実行環境のタイムアウトにならないように
ループ回数を変更してるので
ループ回数を変更してるので
523デフォルトの名無しさん
2021/12/23(木) 23:54:08.59ID:58w1xOUi 生ポインタにしたら同じ感じにならない?
unique_ptr<int32_t[]> p(new int32_t[2*size]);
int32_t* A = p.get();
mmcpy(A, size);
unique_ptr<int32_t[]> p(new int32_t[2*size]);
int32_t* A = p.get();
mmcpy(A, size);
524デフォルトの名無しさん
2021/12/24(金) 01:54:49.07ID:T9e6TA98 手動でループ回数変更とか馬鹿らしいからquick-bench.comとか使うのオススメ
525デフォルトの名無しさん
2021/12/24(金) 09:00:08.27ID:opQHMY4K overrunがある
std::make_uniqueを使え
std::make_uniqueを使え
526デフォルトの名無しさん
2021/12/24(金) 09:04:03.38ID:opQHMY4K527デフォルトの名無しさん
2021/12/24(金) 09:05:00.82ID:6d0f054m サンプルコードだからと安易にnew演算子使う風潮やめたほうがいい
コールバックや別スレッドに渡すインスタンスの生成にのみnew演算子を使うべき
コールバックや別スレッドに渡すインスタンスの生成にのみnew演算子を使うべき
528デフォルトの名無しさん
2021/12/24(金) 09:08:39.52ID:opQHMY4K そういうことではなくunique_ptrを理解してから使えというだけ
529デフォルトの名無しさん
2021/12/24(金) 09:09:02.65ID:6d0f054m バッドノウハウがいつまでたってもなくならない原因は入門者向けのサンプルコード
530デフォルトの名無しさん
2021/12/24(金) 09:09:36.51ID:opQHMY4K そもそもサンプルコードの質が悪すぎる
531デフォルトの名無しさん
2021/12/24(金) 09:10:57.45ID:opQHMY4K 今回のね(>>526)
532デフォルトの名無しさん
2021/12/24(金) 09:11:48.94ID:6d0f054m533デフォルトの名無しさん
2021/12/24(金) 09:12:11.50ID:opQHMY4K >>462は壮大な勘違い
534デフォルトの名無しさん
2021/12/24(金) 09:13:48.09ID:opQHMY4K535デフォルトの名無しさん
2021/12/24(金) 09:21:12.05ID:6d0f054m536デフォルトの名無しさん
2021/12/24(金) 09:22:45.08ID:opQHMY4K537デフォルトの名無しさん
2021/12/24(金) 09:25:48.61ID:ZnDQBfvC 練習と本番を一緒くたにしてるな
まさに現場の癌だったと自白してるようなものだ
まさに現場の癌だったと自白してるようなものだ
538デフォルトの名無しさん
2021/12/24(金) 09:28:20.47ID:opQHMY4K まさにお前がな
539デフォルトの名無しさん
2021/12/24(金) 09:30:24.34ID:opQHMY4K コロコロID変わる質問者兼劣悪回答者の荒らしで、そもそも勤務経験なさそう、と思ってるよ
540デフォルトの名無しさん
2021/12/24(金) 09:31:16.13ID:6d0f054m >>536
現役離れてずいぶん経つの?
実務やってれば仕様書の文章があいまいで実際に動かさないと理解できないってことがいくらでもあるでしょ
「仕様書はない、ソースのみ(キリッ」という状況なんて普通なはずだが
現役離れてずいぶん経つの?
実務やってれば仕様書の文章があいまいで実際に動かさないと理解できないってことがいくらでもあるでしょ
「仕様書はない、ソースのみ(キリッ」という状況なんて普通なはずだが
541デフォルトの名無しさん
2021/12/24(金) 09:32:13.38ID:6d0f054m 教わるとか受け身かよ、アホかと
学ぶんだろ
学ぶんだろ
542デフォルトの名無しさん
2021/12/24(金) 09:35:00.51ID:6d0f054m 上司が「お前は触るな」と言いたいのをオブラートに包んで「理解してから触れ」と言われたクチだろう
できないPGだった証拠
できないPGだった証拠
543デフォルトの名無しさん
2021/12/24(金) 09:36:56.46ID:6d0f054m 「理解してから使え」なんて、危なっかしい無能な人を開発現場から穏便に排除する時に使う言葉だよ
544デフォルトの名無しさん
2021/12/24(金) 09:42:48.15ID:6d0f054m 肩叩きされていたことに気づけないくらいに読解力が低い
545デフォルトの名無しさん
2021/12/24(金) 09:48:44.26ID:ZnDQBfvC 「理解してから使え」
「はい、理解してきます」
「理解しました!今度こそ大丈夫です」←わかった気になってるが自分が何を分かっていないのかがわからない
「はい、理解してきます」
「理解しました!今度こそ大丈夫です」←わかった気になってるが自分が何を分かっていないのかがわからない
546デフォルトの名無しさん
2021/12/24(金) 09:54:19.02ID:6d0f054m 普通は他人に迷惑かけることなく作業しろ、って言えば良いいんだけど、
察するに上司はそれまでの積み重ねで追放する気満々だったんじゃないかな
察するに上司はそれまでの積み重ねで追放する気満々だったんじゃないかな
547デフォルトの名無しさん
2021/12/24(金) 10:05:26.45ID:6d0f054m unique_ptrやshared_ptrは初心者でもコンパイラのエラーや警告に従うだけで安全にコードを書けるようになるからおススメだと思うよ
もちろん頓珍漢な警告メッセージを出力する不親切なコンパイラだとそうはいかないが
もちろん頓珍漢な警告メッセージを出力する不親切なコンパイラだとそうはいかないが
548デフォルトの名無しさん
2021/12/24(金) 12:58:00.18ID:a16a8gMY 下らない煽りを何回にも分けて書くな無能
549デフォルトの名無しさん
2021/12/25(土) 15:17:39.58ID:miWR5HNI コールバックや別スレッドに渡すインスタンスの生成であっても
new演算子を使わねばならない必然性は無いので
ていうかnewしたブツを渡した先でdeteteさせる設計のは
newしたコードとdeleteするコードが同じCRTでないと危険なので
異なるプロジェクトの間でやるのは一般にアンチパターンなので
1. そもそも渡さない(利用するスレッドに生成させる
2. (どうしても渡したい場合は)コピーして渡す
3. オブジェクトの所有権を渡す側のスレッドが握って生存期間が利用期間を包含することを保証する
のどれかなので
new演算子を使わねばならない必然性は無いので
ていうかnewしたブツを渡した先でdeteteさせる設計のは
newしたコードとdeleteするコードが同じCRTでないと危険なので
異なるプロジェクトの間でやるのは一般にアンチパターンなので
1. そもそも渡さない(利用するスレッドに生成させる
2. (どうしても渡したい場合は)コピーして渡す
3. オブジェクトの所有権を渡す側のスレッドが握って生存期間が利用期間を包含することを保証する
のどれかなので
550デフォルトの名無しさん
2021/12/25(土) 15:18:01.17ID:miWR5HNI 少なくともウィンドーズのDLLはDllMain()を有する1本のプログラム同然なので
Ver.0.1のCRTをスタティックリンクしたDLLというものが作れてしまうので
Ver.0.2のCRTとリンクされるコードで生成したオブジェクトのポインタを渡せてしまうので
Ver.0.1のCRTをスタティックリンクしたDLLというものが作れてしまうので
Ver.0.2のCRTとリンクされるコードで生成したオブジェクトのポインタを渡せてしまうので
551デフォルトの名無しさん
2021/12/25(土) 15:49:34.78ID:/YMztZoD のでので言ってるだけで結論がない
頭悪そう
頭悪そう
552デフォルトの名無しさん
2021/12/25(土) 21:39:56.11ID:0AIK3bm0 ActiveX系使ったことないんだろうなって容易に推測でける
553デフォルトの名無しさん
2021/12/25(土) 23:47:20.34ID:miWR5HNI しらそん
COMオブジェクトの中で異なるバージョンのCRTの混在が起きたら
同じことなんじゃないの
COMオブジェクトの中で異なるバージョンのCRTの混在が起きたら
同じことなんじゃないの
554デフォルトの名無しさん
2021/12/26(日) 01:42:46.74ID:Fmrpdwj0 アウトプロセス
555デフォルトの名無しさん
2021/12/26(日) 02:08:50.44ID:rFpP4pcL しらそん
アウトプロセスサーバが生成する
COMオブジェクトの中で異なるバージョンのCRTの混在が起きたら
同じことなんじゃないの
なので
アウトプロセスサーバが生成する
COMオブジェクトの中で異なるバージョンのCRTの混在が起きたら
同じことなんじゃないの
なので
556デフォルトの名無しさん
2021/12/26(日) 02:10:54.75ID:P9feSsDc 自演って見苦しいな
557デフォルトの名無しさん
2021/12/26(日) 05:25:00.76ID:0FjCQ3kx558デフォルトの名無しさん
2021/12/26(日) 05:43:12.94ID:a8PAglQ+559デフォルトの名無しさん
2021/12/26(日) 07:28:31.98ID:z66Mwoku sin関数に入れる時間変数の値が大きくなるにつれ誤差が増えていって困ってます
fmod関数を使ってもあまり効果が見られませんでした
処理時間をそれほどかけずに解決出来る良い案何かありますか?
sin関数に入れる値の目安は100万くらいです
fmod関数を使ってもあまり効果が見られませんでした
処理時間をそれほどかけずに解決出来る良い案何かありますか?
sin関数に入れる値の目安は100万くらいです
560デフォルトの名無しさん
2021/12/26(日) 09:18:24.17ID:6eMF2SNy 100万をsin()しても、sin()は2π周期
doubleの精度15桁中の5桁以上を無駄にしている
sin()する用変数で毎回fmod(,2π)してもそこで誤差が貯まりそう
boost::multiprecisionとか?
doubleの精度15桁中の5桁以上を無駄にしている
sin()する用変数で毎回fmod(,2π)してもそこで誤差が貯まりそう
boost::multiprecisionとか?
561デフォルトの名無しさん
2021/12/26(日) 09:35:40.45ID:/woV9P1D 出来るなら入れる数を作る時点で[0,2pi)に収まるように工夫する
それが無理なら多倍長浮動小数点数のライブラリ使うか自作するか
それが無理なら多倍長浮動小数点数のライブラリ使うか自作するか
562デフォルトの名無しさん
2021/12/26(日) 10:28:27.14ID:a8PAglQ+ >>559
sinの引数に入れる値を浮動小数点数で少しずつ足しこむような処理をしているなら、やめて別の方法を考えろ
sinの引数に入れる値を浮動小数点数で少しずつ足しこむような処理をしているなら、やめて別の方法を考えろ
563デフォルトの名無しさん
2021/12/26(日) 11:32:37.05ID:SV9DgXqP564デフォルトの名無しさん
2021/12/26(日) 12:03:23.64ID:/woV9P1D sinのテイラー展開にxの大きな累乗が現れるからだよ
100万をバンバン累乗した級数で値域[-1,1]の関数計算してたら誤差まみれになるのは直感的に分かるだろ
100万をバンバン累乗した級数で値域[-1,1]の関数計算してたら誤差まみれになるのは直感的に分かるだろ
565デフォルトの名無しさん
2021/12/26(日) 12:47:17.91ID:6eMF2SNy >>563
318310 * pi が100万に近い2piの倍数
https://keisan.casio.jp/calculator で、14桁で計算する
2 * pi = 6.2831853071796
sin(6.2831853071796) = 1.3523E-14
318310 * pi = 1000000.3575642
sin(1000000.3575642) = 3.291426496E-8
わかった?
桁数同じだから、でかい数は細かい所が消えるのよ
318310 * pi が100万に近い2piの倍数
https://keisan.casio.jp/calculator で、14桁で計算する
2 * pi = 6.2831853071796
sin(6.2831853071796) = 1.3523E-14
318310 * pi = 1000000.3575642
sin(1000000.3575642) = 3.291426496E-8
わかった?
桁数同じだから、でかい数は細かい所が消えるのよ
566デフォルトの名無しさん
2021/12/26(日) 15:05:31.07ID:N3NYq5+A わかんない。
567デフォルトの名無しさん
2021/12/26(日) 15:55:33.50ID:SV9DgXqP568デフォルトの名無しさん
2021/12/26(日) 16:03:55.94ID:6s7ujcJo569デフォルトの名無しさん
2021/12/26(日) 17:28:50.32ID:6eMF2SNy 「桁数同じだから、でかい数は細かい所が消える」が理屈のつもりなんだけど…
sin(6.2831853) = -7.179586477E-9 だし、
sin(1000000.3575641670857) = -3.5E-14 だよ
sin(6.2831853) = -7.179586477E-9 だし、
sin(1000000.3575641670857) = -3.5E-14 だよ
570デフォルトの名無しさん
2021/12/26(日) 17:52:52.66ID:6eMF2SNy sin()の結果に13桁の精度が欲しいなら、入力値に小数点以下13桁の精度が要るのよ
sin()は2piの周期関数だから
1000000の所に7桁も使っちゃうのはもったいないのよ
sin()は2piの周期関数だから
1000000の所に7桁も使っちゃうのはもったいないのよ
571デフォルトの名無しさん
2021/12/26(日) 19:17:02.92ID:P9feSsDc まだ小学校の算数で分かる誤差の話してんの?
>>560で話終わらん奴は小学校からやり直せよ
>>560で話終わらん奴は小学校からやり直せよ
572デフォルトの名無しさん
2021/12/26(日) 19:41:54.46ID:qnixUQRF 桁に関する誤差とかどこの世界の小学校で習うんだよ
573デフォルトの名無しさん
2021/12/26(日) 22:29:03.39ID:Ep2AbKxF お前は小学校の国語からやり直せw
>> まだ「小学校の算数で分かる」誤差の話してんの?
誰も小学校で習うなんて言ってないぞ
>> まだ「小学校の算数で分かる」誤差の話してんの?
誰も小学校で習うなんて言ってないぞ
574デフォルトの名無しさん
2021/12/26(日) 22:43:40.78ID:RjefXsAR log1pの存在理由も似たような話だね
575デフォルトの名無しさん
2021/12/26(日) 23:16:02.57ID:P9feSsDc 俺小学4年生で級数展開したπの計算してたけど・・・
6年生でアセンブラと実数使ってたけど・・・
6年生でアセンブラと実数使ってたけど・・・
576デフォルトの名無しさん
2021/12/27(月) 08:46:39.54ID:B/I2o19O 教える奴もよく分かってないからめちゃくちゃになってる
基本的には大きい数についても>>563の考え「x も sin(x) も上から15桁全部有効な桁」で合ってる
sin() が 0 になるケースを考えてるからややこしいんだよ
sin() が 1 になるケース、つまり pi/2 の奇数倍で 100 万に近い数を入れてみろ
そしたらちゃんと 15 桁くらい 1 になるから
0 がややこしい理由は、仮数部が何であっても良いから
例えば 1e-20 は仮数部には1桁目からゴミが入っているが、倍精度ではゼロと見なす
基本的には大きい数についても>>563の考え「x も sin(x) も上から15桁全部有効な桁」で合ってる
sin() が 0 になるケースを考えてるからややこしいんだよ
sin() が 1 になるケース、つまり pi/2 の奇数倍で 100 万に近い数を入れてみろ
そしたらちゃんと 15 桁くらい 1 になるから
0 がややこしい理由は、仮数部が何であっても良いから
例えば 1e-20 は仮数部には1桁目からゴミが入っているが、倍精度ではゼロと見なす
577デフォルトの名無しさん
2021/12/27(月) 10:35:52.12ID:wn+BpFxZ578デフォルトの名無しさん
2021/12/27(月) 18:35:09.36ID:osgcVgi4 uniform_real_distribution の範囲を可変にしたいときってどうしたら良いでしょうか
0 から 1 までの実数を生成するようにしてそれを変数変換するべきですか
0 から 1 までの実数を生成するようにしてそれを変数変換するべきですか
579デフォルトの名無しさん
2021/12/27(月) 19:02:31.64ID:DQqD3vMw っparam
580デフォルトの名無しさん
2021/12/27(月) 20:26:27.31ID:7ufKNB24581デフォルトの名無しさん
2021/12/27(月) 20:45:16.64ID:7ufKNB24 「x も上から15桁全部有効な桁」だからこそ、
1000000の所に7桁も使っちゃうのはもったいないのよ
sin(x)=0の所は微分が1または-1、入力のずれがそのまま出力に出る所
1000000の所に7桁も使っちゃうのはもったいないのよ
sin(x)=0の所は微分が1または-1、入力のずれがそのまま出力に出る所
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 20代の3割が「テレビ見ない」現実…そして静かに広がる「究極のテレビ離れ」とは [muffin★]
- 【悲報】中国→日本行きの航空チケット、高市有事の影響で50万人分がキャンセルされる [834922174]
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
- んなっしょい🍬禁止🈲のお🏡
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- 高市早苗「……なんて言ってみたw」中国「なんだ、言ってみただけかw」👈これで全部元通りになるという事実 [782460143]
- 【悲報】ガラパゴス島国ジャップ、自分達の容姿が優れてると錯覚してしまう [383063292]
