「C言語によるプログラミング 応用編」を最近ちょこちょこ見ている。
…トイレにも持ち込む…
そこに「ビットごとの演算」が載っていたので、自分でやってみた。
論理積
例:ある整数から下位4ビットを抜き出す
【考え方】
ある整数として、(123)10=(01111011)2
この整数と、(0f)16=(00001111)2
との論理積は(11)10=(00001011)2となり、
ある整数の下位4ビットのみを抜き出したことになる。
【ソース】
それでは実行結果
でもなんで、変数をchar型にしてたのかな?int型でも同じ結果になったんだけど。
*** 「かめかめPHP」運営中 ***
…トイレにも持ち込む…
そこに「ビットごとの演算」が載っていたので、自分でやってみた。
論理積
| A | B | A & B |
| 1 | 1 | 1 |
| 1 | 0 | 0 |
| 0 | 1 | 0 |
| 0 | 0 | 0 |
例:ある整数から下位4ビットを抜き出す
【考え方】
ある整数として、(123)10=(01111011)2
この整数と、(0f)16=(00001111)2
との論理積は(11)10=(00001011)2となり、
ある整数の下位4ビットのみを抜き出したことになる。
【ソース】
#include‹stdio.h›
int main(){
char x,y;
x=123;
y=x & 0x0f;
printf("%d\n",y);
return 0;
}
|
それでは実行結果
11 |
↓↓↓ ヽ(^◇^*)/ ↓↓↓
|
PR
昨日調べていたら、Borland C++ Compilerでは、プリプロセスのみの実行はコマンドプロンプトに cpp32 filename で実行できることを知りました。なるほど…
で、早速
なる test.c ファイルを作成し、実行してみる。
すんなり終了し、test.i というファイルが作られていました。 なるほど、プリプロセス後の中間ファイルは *****.i なのか。ちょっと覗いてみる…
…のところにコメント以外の記述があり、これがプリプロセスの正体か…とちょっと納得。
コメント以外の記述が理解できているわけではない ヽ('ー`)ノ
ところで、プロのプログラマの人たちは言語やコンピュータのことをいったいどこまで知っているのでしょうか。相当勉強しないと良いシステムやアプリケーションって作れないんですよね。
*** 「かめかめPHP」運営中 ***
で、早速
#include‹stdio.h›
int main(){
printf("test\n");
return 0;
} |
すんなり終了し、test.i というファイルが作られていました。 なるほど、プリプロセス後の中間ファイルは *****.i なのか。ちょっと覗いてみる…
/* test.c 1: */
/* c:\Borland\Bcc55\include\stdio.h 1: */
/* c:\Borland\Bcc55\include\stdio.h 2: */
/* c:\Borland\Bcc55\include\stdio.h 3: */
/* c:\Borland\Bcc55\include\stdio.h 4: */
…
…
/* c:\Borland\Bcc55\include\stdio.h 494: */
/* c:\Borland\Bcc55\include\stdio.h 495: */
/* test.c 2: */
/* test.c 3: */int main(){
/* test.c 4: */printf("test\n");
/* test.c 5: */return 0;
/* test.c 6: */}
/* test.c 7: */ |
コメント以外の記述が理解できているわけではない ヽ('ー`)ノ
ところで、プロのプログラマの人たちは言語やコンピュータのことをいったいどこまで知っているのでしょうか。相当勉強しないと良いシステムやアプリケーションって作れないんですよね。
↓↓↓ ヽ(^◇^*)/ ↓↓↓
|
昨日「C言語によるプログラミング 応用編」を見返していると、ソースファイルから実行ファイル作成までは、大きく分けると
①プリプロセス
②コンパイル
③リンク
とありました。
ふむふむ φ(..)
しろうとはここまであまり考えないけど、ちょっと興味あり!!
プリプロセス?
この本には「#includeや#ifdefなどの#ではじまる前処理指令の処理」と書いてあり、「コンパイル時に、プリプロセスのみを行い終了するモードがあります。」と書いてあったんですが…
私は今「Borland C++ Compiler」を使用してるのだけれど、そんなオプションあるんかな?と思い、 オプションの一覧を出してみるもそれらしきものが見当たらない (ノ_<。)
今日の課題はプリプロセスのみを行って、それによってできる中間ファイルとやらを見てみることです。
*** 「かめかめPHP」運営中 ***
①プリプロセス
②コンパイル
③リンク
とありました。
ふむふむ φ(..)
しろうとはここまであまり考えないけど、ちょっと興味あり!!
プリプロセス?
この本には「#includeや#ifdefなどの#ではじまる前処理指令の処理」と書いてあり、「コンパイル時に、プリプロセスのみを行い終了するモードがあります。」と書いてあったんですが…
私は今「Borland C++ Compiler」を使用してるのだけれど、そんなオプションあるんかな?と思い、 オプションの一覧を出してみるもそれらしきものが見当たらない (ノ_<。)
今日の課題はプリプロセスのみを行って、それによってできる中間ファイルとやらを見てみることです。
↓↓↓ ヽ(^◇^*)/ ↓↓↓
|
パソコン甲子園2007予選問題04問と関連して、以下の問題を考えていたのですが、
0と1のみの文字列から連続する1の個数の最大値を求める
ひとまず、そのコードが書けたので記録しておきます。
*** 「かめかめPHP」運営中 ***
ここからソース
それでは実行結果
↓↓↓ ヽ(^◇^*)/ ↓↓↓
|
ここからソース
#include‹stdio.h›
#include‹string.h›
int main(){
char st[100];
int sum,max,i,n;
scanf("%s",st);
n=strlen(st);
sum=0;
max=0;
for(i=0;i‹n;i++){
if(st[i]=='0' && sum!=0){
if(max‹sum) max=sum;
sum=0;
}else if(st[i]=='1'){
sum++;
}
if(i==n-1 && sum!=0){
if(max‹sum) max=sum;
sum=0;
}
}
printf("%d\n",max);
return 0;
}
|
それでは実行結果
1110011001 3 |
愛用のvaio君がご臨終になりました。
今まで、このvaio君でプログラムや自宅サーバの練習機として使用していただけに、言葉が出ません。
と言いながら、書き込みは欠かさず!
この前、eeepc701を2,9800円で購入したばかりなのに… この時は、妻には「コンピュータの研究のため!」と言って購入のOKをもらいました。
しかし、それから2ヶ月もたたないのにもう一台ほしいとは言えずにいたのですが、昨日思い切って「買おうかな~」って言ってみたら、「メインのパソコンが壊れたのなら買えば~」と意外な反応。
ということで、何にしようかな~ ☆⌒(*^∇゜)v
快適にプログラム組みたいです!!
*** 「かめかめPHP」運営中 ***
今まで、このvaio君でプログラムや自宅サーバの練習機として使用していただけに、言葉が出ません。
と言いながら、書き込みは欠かさず!
この前、eeepc701を2,9800円で購入したばかりなのに… この時は、妻には「コンピュータの研究のため!」と言って購入のOKをもらいました。
しかし、それから2ヶ月もたたないのにもう一台ほしいとは言えずにいたのですが、昨日思い切って「買おうかな~」って言ってみたら、「メインのパソコンが壊れたのなら買えば~」と意外な反応。
ということで、何にしようかな~ ☆⌒(*^∇゜)v
快適にプログラム組みたいです!!
↓↓↓ ヽ(^◇^*)/ ↓↓↓
|
