C言語なら、俺に聞け! <18>
■ このスレッドは過去ログ倉庫に格納されています
0001きょうはいいテンキーです。日下部陽一
NGNGいろいろな言語を極めたが、一番手になじむのはCだった。
Cのことならぜんてわかるから、疑問な点があったら漏れに聞け。
だが、いちいちFAQに載った質問に応えるほど暇じゃない。
課題丸投げなら別スレにいけ。
・comp.lang.c Frequently Asked Questions
http://www.eskimo.com/~scs/C-faq/top.html
・C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
Cプログラマならこれを買っとけ。
・プログラミング言語C(K&Rと呼べば通だ)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/yfcbookshelf-22/250-3950205-1475419
K&Rで挫折するような救いがたいやつはこれでも読め
・作ってわかるCプログラミング(アヒル本と呼べば通だ)
http://dennou.gihyo.co.jp/books/void_c/
http://www.amazon.co.jp/exec/obidos/ASIN/477411328X/249-4698746-2014711
推薦図書/必読書のためのスレッド PART3
http://pc.2ch.net/test/read.cgi/tech/1016722820/
・前スレ C言語なら、俺に聞け! <17>
http://pc.2ch.net/test/read.cgi/tech/1019372139/l50
0685603
NGNG#include <windows.h>
#include "Input.h"
#include "CyaraData.h"
だけでOKです。
>>684
寒いから早く寝ろ
0686デフォルトの名無しさん
NGNG0688603
NGNG0689デフォルトの名無しさん
NGNG< 5 の方のチェックがどこにもないので、キーを押しまくったら
すぐオーバーしそうだけど。そのせいじゃない?
つーかこの、Player[SelectSuu+1] 鬼のような+1の連発は止めんか?読みにくい。
0691デフォルトの名無しさん
NGNG偽者はだまってろ。
0692デフォルトの名無しさん
NGNGそんなOS使うなとか言わないでね
0693デフォルトの名無しさん
NGNG0695デフォルトの名無しさん
NGNGとりあえず、問題無いとこは置いておこう。
0696デフォルトの名無しさん
NGNGがんがれ。
完成したら、教えてね。
0697デフォルトの名無しさん
NGNG0698デフォルトの名無しさん
NGNG実行したらWindowsの色設定が勝手に変わったぞ、おぃ
0699デフォルトの名無しさん
NGNG勝手にNortonの保護がoffになったし。
どっかで悪さしてねーか?
0700
NGNG書いた場合
short des;
A案
des = souce <<4 >>4 // と書いたらコンパイラの最適化で無視されて値変わらず
B案
des = souce <<4; // と2段に分けたら正常に通ります
des = des >>4;
聞きたいのは、これに最適化を書けた場合、やっぱり無効化されちゃいますでしょうか?
つーか こーいう書き方ってどうよ?
temp = souce <<4
des = temp >>4
と書けば最適化の影響は受けないけど、 読む人に不親切なコードでしょうか?
0701デフォルトの名無しさん
NGNG0702デフォルトの名無しさん
NGNGdes=(src<<4)>>4;
で出来るかも。
同じ状況の時、これで解決した事有る。
0703デフォルトの名無しさん
NGNGが
10001111_1111111
にならない?
0704デフォルトの名無しさん
NGNG符号拡張は、MSBを拡張ビットすべてにコピーしないといけないんじゃないか?
分岐なしで出来るのか不明。
0705デフォルトの名無しさん
NGNG主旨でしょ
0706デフォルトの名無しさん
NGNG0708デフォルトの名無しさん
NGNGあひゃ(゚∀゚)
0709デフォルトの名無しさん
NGNGむ。
val = ((short)(inval<<4))/16;
これでオッケーかと。コンパイラがidevじゃなくて大抵sar使ってくれます。
0710デフォルトの名無しさん
NGNGdivダタ(;´Д`)
0711デフォルトの名無しさん
NGNGreturn n & 0x800 ? n | 0xf000 : n;
0712デフォルトの名無しさん
NGNGいや、それ確かにifは使ってないけど・・・
0713デフォルトの名無しさん
NGNG大抵って・・・・
0714デフォルトの名無しさん
NGNG少なくともVC++6ではsar使ってくれましたです。ハイ
0715デフォルトの名無しさん
NGNG0716デフォルトの名無しさん
NGNG自信無いけど…
0717探しています
NGNG0718デフォルトの名無しさん
NGNG0719デフォルトの名無しさん
NGNGシフトの動作が実装依存だから、100点ではない
0720デフォルトの名無しさん
NGNG0721720
NGNG0722700
NGNG>>707でいいみたいですねー
と思ったら、ヤパーシダメなケースもあり?
つーか、負数が2の補数でない環境なんてあるんでしょうか?
あとシフトの動作が違うとか.… カナーリ特殊ですよね?
0723デフォルトの名無しさん
NGNG符号付き右シフトの前に、左シフトでオーバーフローする可能性がある。
未定義動作。そこまで気にするなら716のような方法でやるんじゃないか?
716のコードはなんか間違っているような気がするけど。
>>722
規格を読むことを勧める。
0724デフォルトの名無しさん
NGNG0725デフォルトの名無しさん
NGNG0726デフォルトの名無しさん
NGNG0727デフォルトの名無しさん
NGNGdst = ( 2048-src > 0 ) ? src : src-4096 ;
0728デフォルトの名無しさん
NGNG実装依存だよ。K&Rを読もう
0730デフォルトの名無しさん
NGNG承知のうえで使うのはアリなんじゃないの?
0731デフォルトの名無しさん
NGNGここはCのスレだから
0732デフォルトの名無しさん
NGNGではどうかな?
適宜キャストしてね。
でも、実際に自分が使うとしたら、処理系依存に目をつぶって
>>707あたりを使うと思うけど。
0733デフォルトの名無しさん
NGNGdst = src - (( src & 0x0800 ) << 1 ) ;
0734デフォルトの名無しさん
NGNG>>700
>A案
>des = souce <<4 >>4 // と書いたらコンパイラの最適化で無視されて値変わらず
>B案
>des = souce <<4; // と2段に分けたら正常に通ります
>des = des >>4;
>聞きたいのは、これに最適化を書けた場合、やっぱり無効化されちゃいますでしょうか?
何でA案は試してるのに、B案が無効化されるか試さなかったんだ?
つーか、やっぱりネタか?
0735デフォルトの名無しさん
NGNG理解を深めたいかのどちらかだろ。
コンパイラのバグをつつくというのもあるけど・・・
0736デフォルトの名無しさん
NGNG100といれれば3を返すような関数が作りたいのです。
お忙しい所、大変申し訳ありませんがどなたかご教授ください。
0737デフォルトの名無しさん
NGNG0738デフォルトの名無しさん
NGNG現役なのにすっかり忘れてましたー(;´Д`)
ありがとうございます。
試してみます!
0739デフォルトの名無しさん
NGNGint keta(int num)
{
int n = 1;
while ((num /= 10) > 0)
++n;
return n;
}
ただし正の数のみ
0740デフォルトの名無しさん
NGNG0 および負数の扱いはどうするんだ ? (>>739 だと 0 の時は、0 が返る
が良いのか ? (まあ、正数のみと言ってるからいいか...。))
>>737
間違ってるぞ。それだと、100 の時に 2 が返るぞ。
0741デフォルトの名無しさん
NGNG0742デフォルトの名無しさん
NGNGいや、最初に n=1 してるから num==0 だとしても1が返るんじゃないか?
0743デフォルトの名無しさん
NGNGint keta = (int)log10(num) + 1;
だね
0744デフォルトの名無しさん
NGNGstrlenとか
0745デフォルトの名無しさん
NGNGあれだけ変換のバリエーションを持ちながら、最後に書き込んだ文字数を返すなんて凄すぎます。
ではまた(^-^)/~~
0746デフォルトの名無しさん
NGNG0747デフォルトの名無しさん
NGNGstrlen()
0748デフォルトの名無しさん
NGNG左シフトはオーバーフローしないのか。間違い書いてスマソ。
0749740
NGNG合ってるわ、ごめん。なんか勘違いしてた。
>>745
VC++ のライブラリソース見ると、printf() の下請け関数 output()
だね。UNICODE 対応などもあって実に 670 行もあるぞ。
0750デフォルトの名無しさん
NGNGsscanfもわすれずに。
0751デフォルトの名無しさん
NGNGをB=の形にするには、どうしたらいいでしょうか?
0752デフォルトの名無しさん
NGNG質問の意味が不明。
0753デフォルトの名無しさん
NGNG丸一分間じっくり眺めたんだけど...
0754デフォルトの名無しさん
NGNGA+B & 0xFF = C
B = C - A & 0xFF
???
0755デフォルトの名無しさん
NGNG&0xFFした時点で上位が失われてるから、
そうゆう意味でB=にするのはむりですよね?
結局どういう質問なんだかむしょうに知りたくなってきた。
0756デフォルトの名無しさん
NGNGreturn num % 10 ? keta(int num % 10) + 1 : 1;
}
0757デフォルトの名無しさん
NGNGが
(A+B)&0xFF==0x00
と仮定して
B=0-A
の時なら成立するって事では?
0758デフォルトの名無しさん
NGNGsize_t が妥当かと
って、その前に虫々やん
0759デフォルトの名無しさん
NGNGketa(num, 1);
}
int keta(int num, int i) {
return num % 10 ? keta(num % 10, i + 1) : i;
}
推奨 -O4
0760デフォルトの名無しさん
NGNGすごくくだらない質問です。
C++ と VisualC++ は同じ言語ですか?
コンパイラのソフトは一緒ですか?
0761デフォルトの名無しさん
NGNG0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNGC++ : 日本語
Visual C++ : 関西弁
(別に「関西」に意味はなし。)
0764デフォルトの名無しさん
NGNG0765デフォルトの名無しさん
NGNGあなたは今、差別を行いましたね、差別を。
差別差別差別。
あ、社民党から電話なので、また明日。
0766デフォルトの名無しさん
NGNG0767デフォルトの名無しさん
NGNG0768デフォルトの名無しさん
NGNG0769デフォルトの名無しさん
NGNG0770767
NGNG0771デフォルトの名無しさん
NGNGあなたは今、
戦う人を勝手に妄想していますね?
妄想してますね?
0772デフォルトの名無しさん
NGNGアイヌ、アプサラスのテストに行って参ります!
0773デフォルトの名無しさん
NGNG0774デフォルトの名無しさん
NGNG0775デフォルトの名無しさん
NGNG標準マクロが定義されている文脈では、そのマクロを
#undefしたり#defineしてはいけない。
例えば、NULLを定義するへッダをインクルードしたとき、
NULLを#undefしたり#defineすると未定義動作になる。
例外として、標準関数と同じ名前のマクロと両方が定義
されている(かもしれない)とき、「マクロじゃない方を
確実に使いたい」ために#undefするのは許されている。
また、
最初の1文字がアンダースコア、2文字目が大文字
最初の2文字がアンダースコア
の名前を#defineしたり#undefすると、常に未定義動作と
なる。
0776デフォルトの名無しさん
NGNG-O4の意味が分からんのでネタだと思うが一応…
#define keta(s) neta( 0, s )
size_t neta ( size_t size, int num ) {
return ( size++, num /= 10 ) ? neta ( size, num ) : size ;
}
0777デフォルトの名無しさん
NGNG0778デフォルトの名無しさん
NGNGならマ板でやってください。
0779初心者にもなってない
NGNGオススメはなんでしょうか?
できれば評判のいい物を買いたいので・・・
0780デフォルトの名無しさん
NGNG推薦図書/必読書のためのスレッド
こっちいってください>>779
0781デフォルトの名無しさん
NGNG0782デフォルトの名無しさん
NGNGC本、古臭いK&Rいつまでも持ち上げるなヴァカ
こっちにいってください(藁>>779
0783デフォルトの名無しさん
NGNG林に倉・・・・
じゃあぼーよーはいいんだな?
0784781
NGNG■ このスレッドは過去ログ倉庫に格納されています