宿題スレ池カス
そもそもこれだけでは板違い。
955 :
デフォルトの名無しさん:2007/07/09(月) 18:31:39
957 :
デフォルトの名無しさん:2007/07/09(月) 18:34:18
ソケットを使ってのネット通信について質問させてください。
UDPでの通信で、
サーバ側がソケットを作成→bindし、
クライアント側がソケットを作成→connectした場合、
サーバから文字列を送信する場合はどうすればいいのでしょうか。
ネトPスレ池カス
っつか、機種依存文字を多用するな・・・
マカ乙
機種依存文字なんて既に死語じゃね?
半角カナのごとくそういう時代になったのか・・・俺の知らぬ間に。
いや、もう10年近くインターネットを毎日利用しているが。
マカってほんとに「@」←これ見えないの?
「こんにちは、マックです。」
「こんにちは、パソコンです。それでは第(ピー)問」
大学の端末室はUNIXだからやっぱり丸付き文字は見られないな
lynxで見てるの?
携帯からも見えるが
検索しづらい文字使われるといらっとくるな
>>966 Firefox からだと「! 」に見える。
まあ、フォント次第なんだが、デフォだとそうなるね。
やっぱまだ標準的じゃないじゃん。誰だよ、マカーだの死後だの自分基準でものを言っている香具師は?
文字集合にUnicodeを使っていれば問題ない。そこにも丸付き数字は入っている。
近年はデスクトップもUnicodeの文字を表示できる環境が広まっているので、
確かに機種依存文字でなくなりつつあるというのはあながち間違いではない。
ここなら #9312;と書けばいいはず。①
int型のnを、15を越えない範囲内でインクリメントしたい場合、こ
んな初心者丸出しのコードが思いつくのだけれど、もっと良い方法
は無いでしょうか?
if (n <= 15) {
n++;
} else {
;
}
ビット演算する方法を考えてみたけど、とても良い方法とは思えな
いので、教えてください。一応elseを明示しています。
if (!(0x10 & n)) {
n++;
} else {
;
}
単純にこれでいいよ。Simple is best.
if (n <= 15) {
n++;
}
後はコンパイラの最適化に期待しな。
>>973 同じことだよ。
やっぱ Mac からは「! 」に見える。
へぇ〜MacてUnicodeに対応してないんだ。
table[32] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, ...};
としておいて
table[ n & 0x1F ]
というのはどうか
ダサッ
うるさいな
一生懸命考えたんだからガムぐらいくれよ
>>974 #include<stdio.h>
int main(void){
struct{unsigned value:4;}l={0};
int m=0,n=0;
int i;
for(i=0;i<20;i++){
printf(" %2d %2d %2d\n", l.value, m, n);
l.value+=1;
m=(m+1)&0xF;
n=(n+1)%16; // <- オススメ
}
return 0;
}
>>981 確かに 15を越えない範囲内でインクリメント はしているが、動作が変わってる
>>974 n+=(n<15)?1:0;
または
n=(n<15)?(n+1):15;
最速だし読んだ人も理解りやすいしifでいいじゃん
if (n <= 15) {
n++;
}
もう終わってるネタだから
ということにしたいのですね:-)
今気づいたが 15を超えない範囲でインクリメントする場合の最大値は
15 になるのか 16 になるのかよく分からないな
(
>>974 に沿えば 16 が最大値だけど)
次スレそろそろたてる?
次スレを立てるにはスク水が必要じゃ
すいませんマージソートの非再帰的なプログラムってどうすればいいですか?
現在の幅を 1 から倍々で増やしていって、
幅が全長を越えるまで処理すればいいんじゃね?
993 :
デフォルトの名無しさん:2007/07/10(火) 02:21:41
-10を2進数に直すと、1111 0111で合っていますでしょうか?
自分の解釈では10なら、0000 1010なので-なら1から反転で
上のような回答になりました、違っていたらご指摘お願いします。
10 (10) = 0000 1010 (2)
↓ビット反転
1111 0101 (2)
↓+1
1111 0110 (2) = -10 (10)
-10 と 10 なら、足して 0 になれば正解だよ
その2つを足して 0000 0000 になる?ならんな
1111 0110 やな。1010を反転させて0101 に 1 を加える
それより上の桁は全部 1
997 :
993:2007/07/10(火) 02:41:11
まず、ここまで10 (10) = 0000 1010 (2)は解ります
反転は0かrではなく、1からではなかったでしょうか?
998 :
993:2007/07/10(火) 02:42:04
因みに、どうして 1111 0101 (2)
↓+1
1111 0110 (2) = -10 (10)
で、+1をするのでしょうか?
っつか、どうしてって言われても、そういう仕組みがあるから。
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。