掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.24099

Char型のビットを出力するためには?
投稿者---秀人(2005/11/10 23:18:08)


こんばんわ。いつも拝見させて頂いております。
以下をご教授下さい。
お願いいたします。

char型の変数chビット並びを出力するプログラムを考えます。
以下のような出力結果になるようにプログラムを作成してください。

<実行例>
アルファベットを入力してください。 ■

”A”を入力した場合
出力結果
↓↓↓↓

+−−−+−−−+−−−+−−−+−−−+−−−+−−−+−−−+
| F | T | F | F | F | F | F | T |
+−−−+−−−+−−−+−−−+−−−+−−−+−−−+−−−+

、は入力した文字
◆韮董任錬阿法韮圈任錬韻紡弍している
’A’のASCIIコードは0x41なので01000001という並びを示している。





この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:Char型のビットを出力するためには? 24100 ぽへぇ 2005/11/10 23:23:17
<子記事> Re:Char型のビットを出力するためには? 24102 Blue 2005/11/10 23:29:59
<子記事> Re:Char型のビットを出力するためには? 24108 まきじ 2005/11/11 00:05:15


No.24100

Re:Char型のビットを出力するためには?
投稿者---ぽへぇ(2005/11/10 23:23:17)


>課題の丸投げはしません。
あなたはどこまで考えたのですか?


この投稿にコメントする

削除パスワード

No.24101

Re:Char型のビットを出力するためには?
投稿者---秀人(2005/11/10 23:28:43)


>>課題の丸投げはしません。
>あなたはどこまで考えたのですか?

まずアルファベットを16進表記にし
それを整数に直して
ビット演算を使って…。

と頭にあるのですが言語に直せないのですが。。。


この投稿にコメントする

削除パスワード

No.24104

Re:Char型のビットを出力するためには?
投稿者---Blue(2005/11/10 23:36:48)


> まずアルファベットを16進表記にし
> それを整数に直して
ということは、全角で入力するということでしょうか?
# 半角ならば、char型変数に格納されているのならば変換する必要もなく、
# ASCIIコードで値を持っています。



この投稿にコメントする

削除パスワード

No.24109

Re:Char型のビットを出力するためには?
投稿者---Hermit(2005/11/11 00:08:19)


考えがまとまらないなら、別の方法を考えましょう。

26*2 分入力された文字に対応する出力文字を用意すれば
考える必要性は無い気がしますが。


この投稿にコメントする

削除パスワード

No.24102

Re:Char型のビットを出力するためには?
投稿者---Blue(2005/11/10 23:29:59)


14−1.ビット演算子
を参考にしてみてください。


この投稿にコメントする

削除パスワード

No.24108

Re:Char型のビットを出力するためには?
投稿者---まきじ(2005/11/11 00:05:15)


>char型の変数chビット並びを出力するプログラムを考えます。

文字 'A' のASCIIコードである 41 を 2進数で表示する
プログラムは作れますか?

作れたら、0 なら F を 1 なら T を表示するだけです。


この投稿にコメントする

削除パスワード

No.24122

Re:Char型のビットを出力するためには?
投稿者---まきじ(2005/11/12 12:13:56)


>文字 'A' のASCIIコードである 41 を 2進数で表示する

0x41 と書くべきでしたね。
#include <stdio.h>
#include<limits.h>

int main(void){

    int c = 'A';
    c <<= sizeof(int) * CHAR_BIT - CHAR_BIT;
    
    for(int n = 0; n < CHAR_BIT; n++)
        putchar((c<<n) < 0 ? 'T' : (c<<n) >= 0 ? 'F' : EOF);
}



この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧