以下のようなk番目のビットを返却するプログラムを作成してcygwinで実行しようとしたのですが、コンパイルと実行を行うまではできるのですが、

C言語関連 | プログラミング23閲覧xmlns="http://www.w3.org/2000/svg">100

ベストアンサー

0

ThanksImg質問者からのお礼コメント

ありがとうございます!助かりました! 改行を要らないところでつけてしまっていました… 丁寧な説明ありがとうございました

お礼日時:5/16 20:33

その他の回答(1件)

0

scanf("%s\n",&num) に関してですが、%sは文字列を入力するためのものですから%dにしなければなりません。ですが、numはunsigned charですからうまく入力できません。%dはintの領域に対して入力するものです。従ってnumの型をintにしてそれで動くようにしてください。 bit=((n>>7)<<7)>>k; に関してですが、 (n>>7)の段階で下位から7ビット目しか残りません。それを<<7で左シフトしてまた>>kでkビット右シフトしていますが、意味がないように思います。