[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 08/20 22:23 / Filesize : 74 KB / Number-of Response : 314
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者歓迎】C/C++室 Ver.92【環境依存OK】



1 名前:デフォルトの名無しさん [2014/07/31(木) 19:14:13.79 ID:17Xd3Yqq]
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。

◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。
前スレ
【初心者歓迎】C/C++室 Ver.91【環境依存OK】
peace.2ch.net/test/read.cgi/tech/1400394837/

【アップローダー】(質問が長い時はココ使うと便利)
codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック)
ideone.com/ (時間帯によってはcodepadが重い事があるのでここも利用)

75 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 08:24:14.21 ID:3bVUJ5Fe]
>>73
.defはたしかにC++では使えんが、dllexportならC++のクラスやメソッドも名前がexportされるから
別に問題じゃない。
#コンパイラの混在はできないが。
逆に仮想関数はvtable内の位置が変わるとまずいから、よくわかってないなら避けたほうが無難。

76 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 08:42:42.67 ID:sXmmxXua]
コンパイラの混在はけっこう不安要素だね
古いVSに新しいVSで作ったDLLが結合できなかったりしそう

77 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 08:43:27.11 ID:Wb6IUvWi]
そういう時こそCOMですよ

78 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 13:48:02.21 ID:hW+yaDMz]
Win7のVS2013のC++で
MessageBox()を表示した時にタスクバーに表示されるアイコンを
指定する方法ありますか?

79 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 13:50:22.52 ID:7Yid+G+a]
メッセージボックスごときがタスクバーに顔を出さないでください

80 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 13:53:43.62 ID:hW+yaDMz]
>>79
普通にやったらタスクバーにアイコンが出るんですが。
皆さん、出ませんか?

81 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 15:56:18.98 ID:N2WBO7yk]
でない。
hWndを0にするとアプリと重なって出るけど…

82 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 16:10:52.00 ID:WSzGEN/V]
質問失礼します。
入力画像が、複数あるテンプレート画像の中のどの画像と最もマッチングしているかをSURFを使って調べるにはどうしたらよいでしょうか。
よろしくお願いします。

83 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 16:12:58.71 ID:3t2H8u7I]
MessageBoxに限らず、システムメニュー持ったwindow で
オーナーが NULL なら、タスクバーに積み重なってくけど、
非NULLなら タスクバー上には出ない



84 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 16:19:36.33 ID:3t2H8u7I]
>>82
ここいらへん ttp://aidiary.hatenablog.com/entry/20091102/1257167398
から続けて読むともしかしたら

入力画像から得られる 特徴量ベクトル郡Vs
テンプレート画像の 特徴量ベクトル郡Vt x テンプレートの種類分

特徴量ベクトルのつきあわせ

85 名前:デフォルトの名無しさん [2014/08/06(水) 20:02:55.18 ID:hW+yaDMz]
アプリ実行時に使う2キロバイト程のテキストデータを
現状はテキストファイルから読み込んでいる
のですが、それだとまる見えなので、プログラム中に
入れてしまいたいのですが、
char data[]="テキストファイルの中身をここに貼り付ける"
みたいな方法以外にお勧めな方法有りますか?

86 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 21:45:58.99 ID:MTWJpzk3]
拡張子を.unkoにする

87 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 22:21:35.52 ID:1M326YIX]
>>85
Windows ならまずリソースに入れることを検討するのでは?

88 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 22:52:26.07 ID:CTQUcynJ]
データ=リソース
という短絡的発想がバカっぽい

89 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 23:03:24.22 ID:Rc+eyo3S]
非難だけして解決策は無いレスは気にしなくていいからな

90 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 23:08:55.87 ID:PY3MTauC]
て言うか、プログラムと一体化 ⇒ リソース は珍しくない
>>88 は観点がちょっとおかしい

91 名前:デフォルトの名無しさん mailto:sage [2014/08/06(水) 23:53:57.11 ID:l8HQ1jfJ]
>>89
ブーメラン乙

92 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 00:38:43.18 ID:zC3TsviY]
>>88>>90は無限ループ

93 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 01:19:10.54 ID:1cACSwRn]
>>92
ループの意味がわからん

>>89>>91 ならまだしも



94 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 01:54:45.98 ID:3T9P4myy]
>>85
つ ユーザー定義リソース
何でも抱けるよ

95 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 08:15:40.74 ID:OmP50o4u]
>>74,75
そうなんですか。訂正ありがとう。

>>75
名前がエクスポートされるって言っても、
「zzz@@aaa」とか記号の並んだ文字列として…じゃなかったかな?
あと、stdcallにすればコンパイラ混在しても大丈夫では?

たびたびスミマセン。

96 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 11:01:52.77 ID:7UtLjkdT]
関数ポインタpFuncがNULLならpDummyFuncを呼びたいんだけど
pDummyFuncがクラスのメンバ関数の場合どうすればいいかな?

97 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 11:33:51.91 ID:JKDdryz1]
みなさんありがとうございました。
リソースファイルでうまく行きました。

98 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 11:42:42.26 ID:qKlYqGRI]
>>96
std::functionで

99 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 13:03:07.98 ID:7UtLjkdT]
>>98
ありがとう

関数ポインタpfuncがNULLの場合何もしないようにするのはどうすればいいかな
typedef VOID (WINAPI *Sample)(VOID)
((Sample)pfunc)()
この場合
if(pfunc == NULL) {
((Sample)pfunc)()
}
とするしかない?

というのは呼ぶ時に分岐するんじゃなくて内部で分岐させるために1つ関数挟んで
BOOL check(result, pfunc)
{
if(pfunc == NULL) {
return FALSE;
}
result = pfunc;
return TRUE;
}

if(((Sample)check(&result, pfunc))() == FALSE){
//nullだった
}
どうにかしてこんな感じにできないかな

100 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 13:17:50.40 ID:7UtLjkdT]
前半
正 if(pfunc != NULL)
誤 if(pfunc == NULL)

101 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 13:20:19.39 ID:gf97lcsK]
何したいのかわからん
check()の返り値はboolでしょ?
nullチェックはできるようだし何を聞きたいのかも分からん

102 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 14:18:26.01 ID:7UtLjkdT]
>>101
わかりにくくてごめん

やりたい事としては
check(result, pfunc) // 引数を指定してpfuncを渡したい
→pfuncがNULLならFALSEを返す
→pfuncがNULLじゃなければpfuncを実行してpfuncの戻り値をresultへ格納してTRUEを返す
でこのpfuncの戻り値・引数の型や数は一定ではない

こんな場合checkを呼ぶ時点でpfuncの引数を指定するのはどうやったらできる?
自分でも意味わからんようになってきたわ

103 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 16:46:06.51 ID:7QbgVQGZ]
すごく乱暴な方法だけど、マクロ経由のインライン展開かねぇ
codepad.org/W8080HvO

制限: 関数ポインタ部分は リテラルの 0 や NULL を渡せない 変数経由でよろ



104 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 16:56:01.26 ID:7QbgVQGZ]
追補: pfunc が 戻り void の関数ポインタ になるのはだめー

105 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 18:58:47.05 ID:gmnku58x]
C++なら可変個引数テンプレート一択
Cなら可変個引数のマクロだろ
あVisual C++には無いんだっけ?

106 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 21:02:01.27 ID:7UtLjkdT]
>>103
ありがとう!

>>105
VC++でも
macro(value1, ...) sample(value1, __VA_ARGS__)でできるよ

107 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 23:20:45.31 ID:yuOaZbMp]
>>95
「マングリング」でググれ。
マングリング規則はコンパイラごとに違うから混在はできないものと思っていたほうがいい。
呼び出し規約の話とはまた別だ。

108 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 23:33:38.33 ID:PVmoVqTz]
引数のスタックへの詰み順
(スタックの巻き戻しを呼び出し側でやるか、呼び出され側でやるか)
まだ何かあるんだろうな 呼び出し規約

109 名前:デフォルトの名無しさん mailto:sage [2014/08/07(木) 23:39:20.38 ID:GYiGBmdZ]
64bitになって情報が錯綜したことで呼び出しはさらにカオスに

110 名前:デフォルトの名無しさん mailto:sage [2014/08/08(金) 00:45:04.00 ID:B23vVFp/]
64bitはfastcall固定だろ?

111 名前:デフォルトの名無しさん mailto:sage [2014/08/08(金) 00:51:34.75 ID:m6I/Kwd1]
バカは新たに覚えることが一つ増えることが大きなストレスなので

112 名前:デフォルトの名無しさん mailto:sage [2014/08/08(金) 01:39:02.11 ID:KHsP8XKA]
__vectorcallは別物だっけ?

113 名前:デフォルトの名無しさん mailto:sage [2014/08/08(金) 22:48:59.68 ID:x6pgPkV/]
c++での重力多体問題のプログラムについての質問です。
物体同士の距離を計測し、その間に働く力を調べるという単純なものです(計算回数は物体数の二乗になる)。
このプログラムで扱える物体数の限界を知りたいのです。

パソコンのスペックや限界をどう決めるかにも依ると思うので物体数と計算時間の関係式を教えてくれませんか?

一応自分でも考えてみました
計算時間=(物体数^2 × 1ループのステップ数)/CPUのクロック数
で求めることが出来そうだと考えたのですが、四則演算やその他演算などのステップ数が分かりませんでした。



114 名前:デフォルトの名無しさん mailto:sage [2014/08/08(金) 23:53:46.60 ID:01BFu9Gu]
>>113
計算式にもよるしCPUの種類にもよる。
実験して計測すれば、1ループあたりの時間がわかるから、
あとは物体数から全体の時間が推定できるでしょ。

115 名前:デフォルトの名無しさん mailto:sage [2014/08/08(金) 23:58:20.12 ID:gKCHEkZ/]
try {
}
catch(int i, char *&s) {
}

こんな感じで複数の引数で例外をcatchってできる?
できるとしたらthrowする時どう書けばいい?

116 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 00:36:57.87 ID:kN50ePbr]
>>115
出来ない。
std::exception派生してメンバに入れろ。
tupleで括ってthrowも出来るけどそもそもstd::exeption以外をthrowするのはあまりよろしくない。

117 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 00:43:50.18 ID:6vo/MVse]
>>116
ありがとう

118 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 04:44:32.02 ID:6vo/MVse]
こんな感じで可変引数を展開せずにそのまま別の関数の引数にするってできる?
func(format, ...) {
 func2(format, ...);
}

119 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 04:52:21.78 ID:RARSJSh7]
もちろん

120 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 06:02:40.10 ID:AkXpz4Sp]
いいえ、できません

121 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 06:03:29.08 ID:sPU18Xtd]
>>118
func2()がvprintf()などのようにva_listを受ける関数ならできる。
逆に言えば、func2()のプロトタイプがfunc1()と同じならできない。
func1()内で環境依存の方法を使えば、或いはできるかも知れんが。

122 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 06:38:12.95 ID:6vo/MVse]
>>121
ありがとう

123 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 06:38:39.99 ID:tuwrl1wM]
>>116
>std::exeption以外をthrowするのはあまりよろしくない

理由は?



124 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 06:49:28.67 ID:kN50ePbr]
>>123
受け取る側が対処しづらい。

125 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 08:25:13.71 ID:s/pNwkYb]
wchar_tに対応してない糞なstd::exceptionは使う気がしません

126 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 09:13:14.64 ID:kN50ePbr]
wchar_tってなににつかうの?

127 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 09:40:59.82 ID:Vxx37Jb0]
そんなにwchar_tが必要なら
派生して対応させればいいだろう。

128 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 10:12:48.97 ID:+T7xdrkU]
> 受け取る側が対処しづらい。

意味わからん、>>124 が対処できないだけじゃね?

>>125
ほんこれ、そろそろなんとかしてほしいもんだ。

129 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:10:41.36 ID:aGEftFoO]
>>114
ありがとう

130 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:13:49.49 ID:Vxx37Jb0]
完全に中で閉じて使う分にはどうでもいいんじゃね。
まあそういうつもりの仕様すら公開されていない例外が、間違って外に漏れてきたら
取り合えずstd::exceptionで受けてwhatで
素性を見てみたくなるな。

131 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:22:15.53 ID:gYP0Auob]
今更wchar_t使うメリットって何よ

132 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:23:23.89 ID:RARSJSh7]
今更char使うメリットって何よ

133 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:31:22.87 ID:gYP0Auob]
>>132
wchar_tよりマシ。



134 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:32:58.93 ID:Vxx37Jb0]
utf-8で扱うのが楽すぎて

135 名前:デフォルトの名無しさん [2014/08/09(土) 12:39:57.76 ID:gH6dyz5c]
wchar_tの_tって何?
wchar のほうが良くないか

136 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:41:59.21 ID:RXuWJHc/]
アプリケーションは外部(ファイル/通信)とのやりとりはUTF-8でして
内部処理はwchar_tの方が扱いやすい

137 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:44:27.16 ID:gYP0Auob]
char32_tとかならメリットわかるけど、
wchar_tは一文字の長さ固定で扱えない環境あるし。Windowsとか。
そんな環境でも固定長だと思って途中でぶった切るバカが必ずいるし。
固定長で扱える長さの環境と固定長で扱えない長さの環境が存在してるからどう扱えばいいのかわからないんだけど。wchar_t推してる連中はどうしてんの?


>>135
ググれ

138 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:46:46.07 ID:Vxx37Jb0]
合成文字とか言う仕組みのせいで
wchar_tでも結局手間は変わらないような

wchar_tが16bitなwindowsだとサロゲートペアで日本語限定でも問題出てくるし

139 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:58:27.92 ID:RARSJSh7]
合成文字なんて使うやつが悪い
問題になってから考えればいい

140 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 12:58:32.23 ID:RXuWJHc/]
文字の管理単位がUnicodeのコードポイント単位なのとバイト単位なのでは
扱いやすさがぜんぜん違うんだが
可変長をいいわけにして思考停止してね?

141 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 13:00:52.29 ID:gH6dyz5c]
>>137
_tでググっても分からんかった。
stringに対しwstringなら
charに対しwcharの方がスッキリする。
それにタイプする時にアンダスコア入れにくいし。
一体誰がこんなヘンテコなwchar_tなんて名前を
付けたのかな?

142 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 13:08:06.07 ID:gYP0Auob]
>>140
UTF-16だとコードポイント単位ですらないって言ってるんだけど。
どうやって1コードポイントを16Bitで表すんだい?

143 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 13:38:40.81 ID:+T7xdrkU]
>>141
> 一体誰がこんなヘンテコなwchar_tなんて名前を付けたのかな?

size_t って決めた奴に言ってくれ



144 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 14:38:48.88 ID:gRSnwdty]
後付である以上
既存のコードとかぶらないために
あえて選りすぐりのへんてこな名前をつけざるを得ない

145 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 14:44:17.42 ID:gH6dyz5c]
俺だったら
whar
にするな。

146 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 15:00:35.46 ID:gYP0Auob]
型名を_tで終わらせるのはPOSIXで予約されてるから付けやすいのよ

147 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 16:26:58.59 ID:kN50ePbr]
>>140
思考停止して固定長だと思い込んでたことを指摘された気持ちはいかがですか?

148 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 18:56:27.64 ID:ogb0Lg1q]
入力された段階でサロゲートペアを弾けばあとは固定長で扱えるから楽だな

149 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 22:23:42.91 ID:XnzTvHrT]
>>143
なんか、わらったよ。

おまえらはsize_t 、wchar_tってなんて読んでいる?
サイズテー、だぶりゅーチャーてー?

150 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 22:26:34.63 ID:MOaw4cY+]
さいずてぃー
うちゃーてぃー

151 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 23:01:51.78 ID:aGEftFoO]
「ティー」じゃなくて「テー」って言う所に老いを感じる

152 名前:デフォルトの名無しさん mailto:sage [2014/08/09(土) 23:19:07.91 ID:Vxx37Jb0]
いやテーはともかく後は普通の読みなんじゃ

153 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 03:00:14.18 ID:/shRHOr1]
>>151
聞き間違いを避ける為にあえてそう発音する人もいるらしい



154 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 03:44:09.58 ID:eHhQsmny]
B ビー
D デー
みたいなもんだな

charのポは半角の|と被るとかあるから
wchar_tに変換してからのがいい

155 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 06:49:28.06 ID:9YqDJ7QI]
>>154
char=MS932として話されても

156 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 06:57:04.45 ID:9YqDJ7QI]
ここって環境依存OKなんじゃなくて、一つの環境しか知らない人が多いだけだな。

157 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 07:20:18.40 ID:eHhQsmny]
「とか」って書いてんのに突っ込まれても

158 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 08:43:19.26 ID:YKEPe6r6]
>>107
なるほど。C++でエクスポートされる関数名が暗号化みたいにされるのは
「マングリング」と呼ぶのですね。ありがとうございます。

やはり素の名前で関数・変数やclassをエクスポートしたければ
.DEF使うべきですね。

159 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 11:31:57.69 ID:qvEZGcVl]
>>151
ドイツ語読みじゃ、霧

160 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 12:05:22.40 ID:lKd2tZDO]
ドイツ語読みでキャラテー?w

161 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 22:50:54.62 ID:qjKPAjiz]
今、数値を計算しファイルに出力するプログラムを作っています

162 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 23:01:10.90 ID:YfIekyq6]
>>160
学生か?

163 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 23:21:57.97 ID:qjKPAjiz]
>>161です
途中で切れていました

今、数値を計算しファイルに出力するプログラムを作っています
計算過程に -3/2乗が出てくるのですが、どう書くのが一番良いのでしょうか?

あと、計算結果が少数で出てきます
fixedで小数点以下6桁まで出せますが、さらに制度を上げることは可能ですか?
また、精度は少数を文字で出力するかバイナリで出力するかによって変わりますか?



164 名前:デフォルトの名無しさん mailto:sage [2014/08/10(日) 23:32:40.91 ID:vHA1jMYS]
有理数計算ライブラリを使えば?

165 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 00:56:37.77 ID:IThaQfUx]
>>164
おすすめのライブラリはありますか?

166 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 02:32:28.41 ID:HrAPsGYd]
>>163
x^(-3/2)ならpow(x, -3/2)

167 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 02:35:49.60 ID:vtRcS5Vo]
惜しい
pow(x, -1.5)やpow(x, -3/2.0)が正解。
整数どうしの除算は整数に切り捨てられる

168 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 03:30:31.58 ID:HrAPsGYd]
>>167
xが型がdouble,floatなら問題無い

169 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 03:43:55.13 ID:LBc4eQ0i]
>>168
ideone.com/hexYNp
> 2.000000 ^ (-3/2 ) = 0.500000
> 2.000000 ^ (-3/2.0) = 0.353553

170 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 05:25:45.52 ID:zN3pWoAl]
>整数どうしの除算は整数に切り捨てられる

そういやC++は2011年改訂でそうなったな

171 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 07:43:57.75 ID:OcxdK7AV]
> そういやC++は2011年改訂でそうなったな
ええぇ〜〜〜〜 なんだってぇ〜〜〜〜

172 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 08:06:18.35 ID:xvvy75By]
整数リテラルどおしの除算の結果は整数に切り捨てられるのは
Cからの流れでC++の起こりの段階からそうじゃなかったのけ?

173 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 08:20:28.49 ID:63aliZJh]
この類いの奴は、負数の割り算で余りの符号が定義されたぐらいしか知らんわ



174 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 10:03:38.34 ID:IpMoPrzW]
整数リテラルの除算の結果は(規約がどうかは兎も角)事の起こりからずっと切り捨てられてきたね。
切り捨ての方向が確定したのはC++11かもしれないが。

>>163
doubleの精度のままファイルに出力するには、幾つか手がある。
・(エンディアンを考慮する必要があり、IEEEであることが前提になるが)バイナリで出力。
・有効精度を充分大きく採った指数形式で出力("%.20g"くらいで運が悪くない限り大丈夫)。
・(利用側で演算する制約はあるが)計算結果ではなく、計算過程を出力。

175 名前:デフォルトの名無しさん mailto:sage [2014/08/11(月) 11:20:26.59 ID:GA9i869X]
昔MS-DOS時代に「ポータブルなdoubleの保存を
標準Cの範囲で実現するコード(基数は2限定)」というのを見たな。
ソースを見たけど「こんなことするくらいなら環境依存でいいや」
と思った記憶がある






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<74KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef