C言語なら俺に聞け(入門篇) Part 14

このエントリーをはてなブックマークに追加
952デフォルトの名無しさん:2007/06/24(日) 20:16:49
>>943
独り言的な内容。本筋とは異なる話題や愚痴等を記述する場合に使われることが多い。
由来はなんかの言語かスクリプトで#以降がコメント扱いになるからだと思われ。
プログラム系の掲示板ではちょくちょく見る。
953デフォルトの名無しさん:2007/06/24(日) 20:21:20
あとはあれか、誤字やtypoをsed風に修正する奴

s/ふいんき/ふんいき/

みたいな
954デフォルトの名無しさん:2007/06/24(日) 20:22:13
>>943
ハッチサイン(#)は、Unix系スクリプトで一般的にコメントを指す記号として使われている。
そこから転じて、インターネット普及以前から「余談だが」などの意味合いで使われることが多い。
実際のスクリプト処理系では2バイト文字で書くことを認めているわけではないから、その点では>906は間違い。
#詳細は適当に検索して勝手に納得してくれ。
955デフォルトの名無しさん:2007/06/24(日) 20:44:44
2進数には変換指示文字が無いのですか?
956デフォルトの名無しさん:2007/06/24(日) 20:48:32
>>955
無い。作るといい。
957デフォルトの名無しさん:2007/06/24(日) 20:49:43
えええ…
じゃあ10進数を2進数にして表示せよ!なんてのは出来ないのか…
958デフォルトの名無しさん:2007/06/24(日) 20:57:28
>>957
作ってもたいしたことないしあきらめれ。
2進表示なんて見にくすぎて課題以外じゃありえん。
959デフォルトの名無しさん:2007/06/24(日) 20:57:48
>>957
よかったな(^∇^)
960デフォルトの名無しさん:2007/06/24(日) 20:58:16
10進数 and 0x0008
10進数 and 0x0004
10進数 and 0x0002
10進数 and 0x0001

少しキモイがこういうので出来るんじゃないか
961デフォルトの名無しさん:2007/06/24(日) 21:05:15
右シフトしながら1とandとれよ。
962デフォルトの名無しさん:2007/06/24(日) 21:16:48
// 汎用関数を作ってみた。
static char * ltos(int number, int base, char * buf)
{
static const char digits[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
if (number / base) {
buf = ltos(number / base, base, buf);
}
buf[0] = digits[number % base];
return buf + 1;
}

void ltostr(int number, int base, char * buf)
{
if (number < 0) {
buf[0] = '-';
ltostr(-number, base, buf + 1);
} else {
ltos(number, base, buf)[0] = '\0';
}
}
// 使い方は、char buf[65]; ltostr(123, 2, buf);で。
963デフォルトの名無しさん:2007/06/24(日) 21:17:14
>>957
#include <stdio.h>

int to_n_sinsu(int k, int n) {
char *c,num[]="0123456789ABCDEF";
char a[32]={'0'};
int i;
if(k<0 || n<0) return 1;
for(i=0; ; i++) {
a[i]=num[k%n];
k/=n;
if(k==0) break;
}
for(; i>=0; i--) {
putchar(a[i]);
}
}

int main(void) {
int k,n;

printf("10進数で基数を入力 > ");
scanf("%d",&k);

printf("何進数にしやすか? > ");
scanf("%d",&n);

printf("%d を %d 進数で表すと ",k ,n );
to_n_sinsu(k,n);

return 0;
}
964デフォルトの名無しさん:2007/06/24(日) 21:18:03
うーん、せめてbaseが2以上36以下であることを確認しておくべきだったか。
965デフォルトの名無しさん:2007/06/24(日) 21:18:56
おっと、>>962=>>964ね。
966デフォルトの名無しさん:2007/06/24(日) 21:41:51
1進数なんて・・・どう表現したらええんやろ、なんて無駄なことを考えてみたりw
1加えられると桁が上がって・・・無限に広がる?2進数が0と1なら1進数は0のみ?w
967デフォルトの名無しさん:2007/06/24(日) 21:44:44
0:0
1:00
2:000
3:0000
968デフォルトの名無しさん:2007/06/24(日) 21:50:20
>>967 拭いたっ(ブーーーのAA略)
969デフォルトの名無しさん:2007/06/24(日) 22:09:59
2進表示は使い道あると思うけどな。
ハードに近いところとか、通信プロトコルとかのダンプ見るのに標準であったら便利だなと思うことあるでしょ
970デフォルトの名無しさん:2007/06/24(日) 22:11:16
>>969
無い。16進でいい。
971デフォルトの名無しさん:2007/06/24(日) 22:11:23
やっぱ、ビット演算子を使ってANDでチェックやな
972デフォルトの名無しさん:2007/06/24(日) 22:29:15
>>962
-number
これはだめだよ。
正負の表現できる範囲が異なるときに、オーバーフローする。
973デフォルトの名無しさん:2007/06/24(日) 22:41:16
くっ、境界条件に負けた。
974デフォルトの名無しさん:2007/06/25(月) 00:51:49
int i=0,*x;
x=(int *)malloc(sizeof(int)*10);
while(i<10){
x[i]=1;
i++;
}

このコードの後に、free(x)をすると、コンパイルは通りますが実行時にエラーが発生して、Freeの直前で強制終了してしまいます。
while文の中身が、たとえば
*x=1;
x++;
i++;
ならfree(x)が駄目なのは調べて分かりましたが、最初の場合もfreeは使えないのでしょうか?
975デフォルトの名無しさん:2007/06/25(月) 00:54:25
なんか別の原因じゃねえの?
976デフォルトの名無しさん:2007/06/25(月) 00:54:48
強制終了するプログラムを全部書け。
長ければアップローダーを使え。
977デフォルトの名無しさん:2007/06/25(月) 01:22:17
というか、アップロード準備のための問題を単純化する作業で解決することが多い。
978デフォルトの名無しさん:2007/06/25(月) 01:30:23
>>924
きめぇ。マジぶっとばす。
979デフォルトの名無しさん:2007/06/25(月) 05:17:20
>>968
1進数は

0:
1: 1
2: 11
3: 111

というものだよ。
丁度指を折りながら数える感じの数え方だな。
まあ、2進数以上とは別の定義になるんだが。
980デフォルトの名無しさん:2007/06/25(月) 05:31:49
>>979より>>967の方がっぽいな
981デフォルトの名無しさん:2007/06/25(月) 05:35:32
>>980
桁の無いところは自由に 0 で埋めることができることを忘れてると思う。
982デフォルトの名無しさん:2007/06/25(月) 05:40:43
>>981
http://ja.uncyclopedia.info/wiki/1%E9%80%B2%E6%B3%95



まぁマジレスするなら指折り数えるのは2進数
983デフォルトの名無しさん:2007/06/25(月) 05:42:21
>>982
アンサイクロペディアをソースにしてどうするよwww
ttp://ja.wikipedia.org/wiki/%E4%B8%80%E9%80%B2%E8%A8%98%E6%95%B0%E6%B3%95
984デフォルトの名無しさん:2007/06/25(月) 05:43:09
指折り数えるのが2進数だったら、
0〜1023 まで数えられるな・・・。
985デフォルトの名無しさん:2007/06/25(月) 05:43:24
いやだから(ネタとして)それっぽいって話じゃなかったのか
まさかソースがうんぬん言われるとは思わなかった
986デフォルトの名無しさん:2007/06/25(月) 05:45:21
1進数は別にネタじゃないんだが・・・
987デフォルトの名無しさん:2007/06/25(月) 05:48:06
>>979>>968じゃなくて>>966へのレスだったってことか?
988デフォルトの名無しさん:2007/06/25(月) 05:48:53
同じ人だと思ってたんだけど、違うのか?
989デフォルトの名無しさん:2007/06/25(月) 05:54:55
同じ人かどうかは知らないが、
あの流れでなんでマジレスしようと思うのかがわからん
990デフォルトの名無しさん:2007/06/25(月) 05:56:29
吹いてるみたいだけど、
実際の1進数も似たようなもんなんだよ、という話なんだが。
991デフォルトの名無しさん:2007/06/25(月) 06:05:39
え?何々、また数学的な議論?1進数ってどうなのかと妄想した俺が発端?w
やってやって、じゃんじゃんありもしない憶測や推論を出してgdgdな結論の出ない議論を
続けてぼくちんを楽しませてくれちゃって結構よん♪
C言語の宿題のスレじゃ、 0の0乗 0^0 = ? についてgdgdと泥沼化した議論がされたがw
992デフォルトの名無しさん:2007/06/25(月) 06:08:46
横から水を差すタイプの人か・・・
993デフォルトの名無しさん:2007/06/25(月) 06:14:01
スレ違いの話題で延々と議論するタイプの人か・・・
994デフォルトの名無しさん:2007/06/25(月) 06:15:45
次スレ

C言語なら俺に聞け(入門篇) Part 15
http://pc11.2ch.net/test/read.cgi/tech/1182719692/
995デフォルトの名無しさん:2007/06/25(月) 06:16:45
え?俺はもう1進数については議論をするつもりはないよw
ありもしない妄想をぶっこくキモイ香具師の屁理屈、曲解理論を見て楽しむだけw
996デフォルトの名無しさん:2007/06/25(月) 06:19:30
>>995
君にはデパートの屋上がお似合いだ
997デフォルトの名無しさん:2007/06/25(月) 06:32:57
>>991
0^0 を眺めてたらヘッドホンに見えてきた
998デフォルトの名無しさん:2007/06/25(月) 06:35:53
└0^0┘ ちっちっち、甘いぜ?あっちじゃ メガネ だったぜ
999デフォルトの名無しさん:2007/06/25(月) 06:44:33
>>998
グラディ○スの後姿に見えた
1000デフォルトの名無しさん:2007/06/25(月) 06:45:13
どうもすいま1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。