トップページ⇒tech
954コメント324KB

C言語なら、オレに聞け! <3>

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001ジョブス2世NGNG
おれは25才、3年間プログラムを一生懸命作ってきた。
C言語しか知らないがC言語なら誰にも負けない...
C FAQに載ってる質問すると煽るぞゴルァ!

・comp.lang.c Frequently Asked Questions
http://www.eskimo.com/~scs/C-faq/top.html

・C FAQ 日本語訳
http://lagendra.s.kanazawa-u.ac.jp/ogurisu/manuals/C-faq/C-faq-00.html


前スレ、関連スレは >>2 へ
0904デフォルトの名無しさんNGNG
 >>895〜897,899〜903
やっとわかりました。
本当にありがとうございました。
0905デフォルトの名無しさんNGNG
第1バイトの値を取り出すのに、
int a = 0xdo3322ff;
a = (char)a;
と
a = (0x000000ff) & a;
とするのとどっちがいいのですか?
0906デフォルトの名無しさんNGNG
下>905
0907905NGNG
>>906
why
0908デフォルトの名無しさんNGNG
0xdoって何よ?ネタ?>905
0909906NGNG
おれの好み>907
0910905NGNG
>>908
それはただの入力ミス
どっちがいいか知りたかったの
0911デフォルトの名無しさんNGNG
waitさせよー。
0912デフォルトの名無しさんNGNG
もったいよー
0913デフォルトの名無しさんNGNG
>>905
下
わかりやすい。
キャストしてない。
0914屁理屈NGNG
"第1バイト"なら、エンディアンの問題があるから、
共用体使うか、アドレスとってポインタをキャストして逆参照しなきゃだめじゃん。

まあ、"最下位バイト"を取得したいんだろうけどさ。
0915デフォルトの名無しさんNGNG
>>914
int->charのキャストにインデイアンが関係あるの?
0916デフォルトの名無しさんNGNG
インディアンうそつかない
0917デフォルトの名無しさんNGNG
>>916
君と同じ過ちを犯したやつが過去何人いた事か…
0918デフォルトの名無しさんNGNG
>>915
関係レスを全部読んでないだろ
0919デフォルトの名無しさんNGNG
>>915
int→charへのキャスト にはインディアンは関係ない。
ただ、第1バイト っていう表現をしてるから
インディアンがしゃしゃりでてくるのだよ。アンダスタン?
0920デフォルトの名無しさんNGNG
頼むからくだらんネタはやめてくれ>インディアン
その手の言い換えは全然かっこよくないぞ。
0921デフォルトの名無しさんNGNG
int a = 0xdo9987fe;

printf("a = %x\n",(char)a); → a = fffffffe
printf("a = %x\n",(unsigned char)a); → a = fe

どうしてー
0922デフォルトの名無しさんNGNG
大学でCG論という講義をとっているのですが、
そこで”OpenGL”というやつをやっていますが、
よくわかりません(教授は毎週1000行近いプログラムの課題
を出します。つらい・・・)詳しいサイトや本は知りませんか?
0923デフォルトの名無しさんNGNG
>>922
OpenGL完全マスター
朝日出版
0924922NGNG
ちなみに使ってるソフトはC++Builder4です。
0925デフォルトの名無しさんNGNG
OpenGLはしょぼい・・・・・shadeとか使ったほうがサクッ!とできる(笑)
し、あまりのショボさにCGを見比べると絶望する。でも
CGの根本を学にはいい材料。
0926デフォルトの名無しさんNGNG
DirectXだろう
0927デフォルトの名無しさんNGNG
>>921
符号拡張
0928デフォルトの名無しさんNGNG
b<0?(int)(b-0.5f):(int)(b+0.5f)

って浮動小数点数bを整数に近似丸めさせるときの
式としてあってますか?
0929デフォルトの名無しさんNGNG
>>928
あってるよ
0930デフォルトの名無しさんNGNG
>>922
やってわかるOpenGL
東和出版社
0931922NGNG
そうですか書名だけを見るとできそうな気がしますが(笑)
最後は努力と要領の問題でしょうが・・・・

そころでOpenGLはどうなんでしょうやって損はないでしょうか?
CG論の教授は将来性抜群と絶賛していて、卒論でやってもいいとか
言っていますが。
0932デフォルトの名無しさんNGNG
損はしないね
0933デフォルトの名無しさんNGNG
>>932
ほんとかよ?
卒論なら自分でグラフィックライブラリ作るぐらいやったほうが
いいんじゃない。力もつくしサー
0934デフォルトの名無しさんNGNG
(int)floor(b+0.5f)

って浮動小数点数bを整数に近似丸めさせるときの
式としてあってますか?
0935デフォルトの名無しさんNGNG
だめ>>934
0936デフォルトの名無しさんNGNG
>>934
正の整数で四捨五入ってことならあってるよ
0937デフォルトの名無しさんNGNG
>>936
違うよ。四捨五入なら、小数部が0.5のとき整数部が偶数になるように丸めない
といけないのに、>>934ではそうなっていない。
round関数が使えればそれが一番手っ取り早いけど、そうでなければ、もう少し
処理が複雑になる。
0938デフォルトの名無しさんNGNG
>>937
整数部が偶数になるように? なぜ?方言?
0939デフォルトの名無しさんNGNG
> 違うよ。
違いません。方法の一つです。

>四捨五入なら、小数部が0.5のとき整数部が偶数になるように丸めない
>といけない
それはいわゆる「銀行丸め」だね。そういう四捨五入の方法もあるが、
一般的なじゃないよ。
0940デフォルトの名無しさんNGNG
ネタだとばかり思ったら、
> それはいわゆる「銀行丸め」だね。
ほぇー。こんな流儀があったのか。知らんかった。
0941937NGNG
>>938-939
JISでもISOでもそうなっているよ。
少なくともまともなエンジニアの間では常識。
0942デフォルトの名無しさんNGNG
>>941
いいよ。オレは社会で通用する常識の方をとるよ。
0943デフォルトの名無しさんNGNG
>>942
それはC言語から足を洗うという意味と見た。
0944デフォルトの名無しさんNGNG
http://homepage1.nifty.com/s_miyake/hp/jisround.htm
これか。でも、生理的に受け付けん・・・
0945デフォルトの名無しさんNGNG
>>937
つーか、
四捨五入は四捨五入、JIS丸めはJIS丸めで別物だろ?
0946デフォルトの名無しさんNGNG
>>945
JIS丸めなどという言い方は正式には存在しない。
正式な言い方はあくまでも「四捨五入」。
0947デフォルトの名無しさんNGNG
>>943
デジタル信号処理で同じ事やったら誤差が累積していくだろう?
少なくとも制御系では常識ではないよ。
0948デフォルトの名無しさんNGNG
>>947
2数の中間値を偶数方向に丸めるのは、誤差の累積を最小限に収める意図も
含まれている。
通常、浮動小数点数の端数処理は四捨五入(ここでいうJIS丸め)を採用して
入り場合がほとんど。math.hの中のFLT_ROUNDSが1になっていれば、そうだ
よ。

これは工学全体で常識だから、相手の無知が発覚しない限り、敢えて説明する
人は誰もいないだけ。制御系は工学の色彩が強いので、当然常識だよ。

というか、ほとんどの場合、何も考えなくてもこの方式で四捨五入されている。
精度に収まらない端数処理然り、printf等で文字列に変換する場合然り。
0949デフォルトの名無しさんNGNG
間違えた。
math.hではなくfloat.hの中のFLT_ROUNDSだった。
0950デフォルトの名無しさんNGNG
>>946
正式な言い方は「JIS Z8401 数値の丸め方」だろ
お前が四捨五入って言ってるからって、自分用語を勝手に常識にするのはやめれ
0951デフォルトの名無しさんNGNG
どうでもいいが、そろそろ新スレでいかんか?
0952デフォルトの名無しさんNGNG
よろしく>951
0953デフォルトの名無しさんNGNG
新スレです。以後はこちらにどうぞ。
http://piza.2ch.net/test/read.cgi?bbs=tech&key=992357382&ls=50
0954デフォルトの名無しさんNGNG
かちゅ〜しゃ用
http://piza.2ch.net/test/read.cgi?bbs=tech&key=992357382
レス数が950を超えています。1000を超えると書き込みができなくなります。