[C言語]2進数文字列を10進数の整数値に変換する関数

10進数を2進数文字列に変換する関数は前に作成してますが、逆に「1101」「10110000」などの2進数文字列を10進数の整数値に変換するC言語用の関数がなかったので作成してみました。

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

int bin2dec(char *src);

int main(void)
{
    char binstr1[] = "1101";     /* 13 */
    char binstr2[] = "10110000";    /* 176 */
    char binstr3[] = "1000000100000000";    /* 33024 */

    int dec = 0;

    dec = bin2dec(binstr1);
    printf("%s:%d(0x%02.2X)\n", binstr1, dec, dec);

    dec = bin2dec(binstr2);
    printf("%s:%d(0x%02.2X)\n", binstr2, dec, dec);

    dec = bin2dec(binstr3);
    printf("%s:%d(0x%02.2X)\n", binstr3, dec, dec);

    return 0;
}

/* 2進数文字列を10進数に変換 */
/* 10000000 -> 128, 1000 -> 8, 1000000000000000 -> 32768 */
int bin2dec(char *src)
{
    int dec = 0;
    for (;;) {
        if (*src == '1') {
            dec |= 1;
        }
        src++;
        if (!*src) {
            break;
        }
        dec <<= 1;
    }
    return dec;
}

実行結果
$ ./bin2dec
1101:13(0x0D)
10110000:176(0xB0)
1000000100000000:33024(0x8100)

[2325] Posted by kagahiro at 2013/07/03 00:10:55
オープン | 0 point | Link (1) | Trackback (0) | Comment (0)

キーワード

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

ジャパンのホームページ


[C言語]2進数文字列を10進数の整数値に変換する関数 関連リンク

[C言語]1バイト(8bit)の10進数を2進数の文字列に変換するコード
1バイト(8bit)の10進数を2進数の文字列に変換するコードのC言語版です。C言語では、PerlやPHPなどのように2進文字列に変換してくれる便利な関数は関数はないので、ビット演...

[C言語]2進数文字列を10進数の整数値に変換する関数 トラックバック

トラックバックURL :


[C言語]2進数文字列を10進数の整数値に変換する関数へのコメント


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

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

< 前の投稿      次の投稿 >

アクセスランキング

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

  1. 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (1 PV)
  2. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (1 PV)
  3. Google News (グーグルニュース)日本版 (1 PV)

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

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (1941 PV)
  2. Tumblr(タンブラー)のダッシュボードからおすすめ投稿を消す(非表示にする)方法 (167 PV)
  3. グーグルニュース(Google News)日本版が表示できるURL (162 PV)
  4. Google News (グーグルニュース)日本版 (160 PV)
  5. [将棋]将棋実況ユーチューバーのクロノさんが朝日新聞のクレームで棋譜中継を配信中止 (155 PV)
  6. 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (153 PV)
  7. [Perl]UTF-8でエンコードされた文字列の文字数を取得するコード (149 PV)
  8. Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (125 PV)
  9. USTREAM(ユーストリーム) 日本語版 無料のライブ映像配信サービス (109 PV)
  10. ウェブページを1回だけリロード(再表示)する方法 (77 PV)

アクセス統計

ディレクトリ

関連サイト