[C言語]1バイト(8bit)の10進数を2進数の文字列に変換するコード

1バイト(8bit)の10進数を2進数の文字列に変換するコードのC言語版です。

C言語では、PerlやPHPなどのように2進文字列に変換してくれる便利な関数は関数はないので、ビット演算子を使ってビットのオン・オフを判定して、2進文字列を作成していくしかありません。

#include <stdio.h>
#include <string.h>

void dec2bin(char src, char *dest);

const int buf_size = 9;

int main(void)
{
    char buf[buf_size]; /* 変換後の2進文字列を受け取るための領域 */
/*    char str1[] = "abcdefg"; */
    char str1[] = "あいうえお";
    char *cp;

    int num = 1;
    for (cp = str1; *cp; cp++) {    /* 文字数分処理 */
        memset(buf, '\0'sizeof(buf));
        dec2bin(*cp, buf);
        printf("%d:%s (0x%02.2X)\n", num, buf, 0x000000ff & *cp);
        num++;
    }

    return 0;
}

/* 1Byte(8bit)の10進数を2進数の文字列に変換 */
void dec2bin(char src, char *dest)
{
    const int bit_size = 8;
    int i;
    for (i = 0; i < bit_size; i++) {
        dest[i] = (0x80 & src) ? '1' : '0';
        src <<= 1;
    }
}

解きながら学ぶC言語
ソフトバンククリエイティブ 著者:柴田 望洋,肘井 真一,高木 宏典,赤尾 浩


amazon.co.jpのカスタマーレビューを見る
powered by amalink

[2253] Posted by kagahiro at 2012/12/21 17:23:17
オープン | 0 point | Link (6) | Trackback (0) | Comment (0)

キーワード

C言語 サンプル プログラム コード 2進数 プログラミング 

ジャパンのホームページ


[C言語]1バイト(8bit)の10進数を2進数の文字列に変換するコード 関連リンク

[gcc]iconvで文字エンコードを変換するサンプルプログラム
単にテキストファイル等の文字エンコードを変換するのであれば、iconvコマンドを使用して変換すれば良いのですが、プログラム内部で取得した文字列の文字エンコードを変換したい場合もあります。以下のプログラムはL...
[PHP]10進数を2進文字列に変換するコード
PHPの場合は、ズバリ10進数を2進文字列に変換できるdecbin関数があるので、decbin関数を使用すればいいのですが、もちろん、Perlの場合と同様にビット演算で2進文字列に変換することもできます。以下は、そのサンプル...
[Perl]1バイト(8bit)の10進数を2進数の文字列に変換するコード
Perlの関数を使用して、以下の手順で10進数を2進文字列に変換することができます。sprintf関数で10進数を16進文字列に変換pack関数で16進文字列をバイナリーにパックunpack関数で2進文字列に変換例えば、文字列の先頭...
[C言語]UTF-8でエンコードされた文字列の文字数を取得するコード
C言語のstrlen関数では文字列の長さとして返ってくる値はバイト単位となるので、UTF-8でエンコードされている場合、漢字、ひらがな、カタカナなどは1文字で3となってしまいます。Webアプリケーションのテキスト処理で...
[C言語]UTF-8でエンコードされた文字列の部分文字列を取り出すコード
C言語のstrncpy関数やmemcpy関数ではバイト単位の操作になるので、漢字、ひらがな、カタカナなどの全角文字を文字数で指定して部分文字列を取り出すことができません。そこで半角英数も全角文字も1文字として部分文字...
[C言語]2進数文字列を10進数の整数値に変換する関数
10進数を2進数文字列に変換する関数は前に作成してますが、逆に「1101」「10110000」などの2進数文字列を10進数の整数値に変換するC言語用の関数がなかったので作成してみました。#include <stdio.h>#inc...

[C言語]1バイト(8bit)の10進数を2進数の文字列に変換するコード トラックバック

トラックバックURL :


[C言語]1バイト(8bit)の10進数を2進数の文字列に変換するコードへのコメント


詳細の入力フィールドを表示する

おすすめ  (チェックしてコメントすると最新情報に掲載)
コメント :

< 前の投稿      次の投稿 >

アクセスランキング

今日のアクセスランキング TOP 10

  1. 究極の爆益ゴールドナンピンマーチンEA「Extreme MT5」 (3 PV)
  2. 2NN 2ちゃんねるニュース速報+ナビ (2 PV)
  3. [PR]スキャルピングならスプレッドが狭くキャッシュバックサイトも利用できるExnessがおすすめ (1 PV)
  4. [PR]EAの運用にVPSを利用するメリット #FX (1 PV)
  5. ドル円(USDJPY)で爆益を狙うハイリスクハイリターンのMT4向けナンピンマーチンEA「Hyper Dollar」 (1 PV)
  6. [FX]高値更新・安値更新でエントリー、MT4向け無料スキャルピングEA「1Scalper」#システムトレード (1 PV)
  7. [FX]裁量ポジションを簡単に管理できるMT4向け無料の裁量補助EA「PositionKeeper」 (1 PV)
  8. [FX]同一通貨ペアのポジションをまとめて決済できるMT4向けツール(EA)「Closer(クローザー)」を完全無料で公開 (1 PV)
  9. 爆益を狙うハイリスクハイリターンのナンピンマーチンEA「Hyper Dollar MT5」 (1 PV)
  10. 2ちゃんねる(2ch) (1 PV)

今月のアクセスランキング TOP 10

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (694 PV)
  2. 究極の爆益ゴールドナンピンマーチンEA「Extreme(エクストリーム)」 MT4向け (643 PV)
  3. 究極の爆益ゴールドナンピンマーチンEA「Extreme MT5」 (509 PV)
  4. 安全性重視の完全無料ナンピンマーチンEA「Million Dollar(ミリオンダラー)」 #FX #ゴールド #ビットコイン (194 PV)
  5. [PR]noteで販売している自作EAの一覧 (185 PV)
  6. [FX]高値更新・安値更新でエントリー、MT4向け無料スキャルピングEA「1Scalper」#システムトレード (121 PV)
  7. 自作のMT4向け無料EA(口座縛り無し、ブローカー縛り無し、使用期限無し)とゴゴジャン出品中の有料EAの一覧 #MT4 (109 PV)
  8. 2NN 2ちゃんねるニュース速報+ナビ (80 PV)
  9. MT4向け1ポジアノマリーEA「DAY TRADING」 オープンソースライセンス(GPL3) #ドル円 (75 PV)
  10. 完全無料のMT5用ナンピンEA「Nanpin K(ナンピンケイ) MT5」 使用制限無し (69 PV)

アクセス統計

ディレクトリ

関連サイト