[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. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (112 PV)
  2. Google News (グーグルニュース)日本版 (65 PV)
  3. 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (62 PV)
  4. Tumblr(タンブラー)のダッシュボードからおすすめ投稿を消す(非表示にする)方法 (14 PV)
  5. ウェブページを1回だけリロード(再表示)する方法 (11 PV)
  6. 有力将棋系ユーチューバーのショウヤンさんが将棋ウォーズで「ソフト指し」を告白し衝撃走る (10 PV)
  7. [将棋]角換わり▲4五桂速攻(△6五桂速攻) #佐藤天彦名人 #三浦弘行九段 (8 PV)
  8. USTREAM(ユーストリーム) 日本語版 無料のライブ映像配信サービス (8 PV)
  9. YouTubeドラマまとめ ドラマ・映画 -VideoNavi- (5 PV)
  10. FC2動画やYouTubeなどから無料動画(映画やドラマ、アニメ、音楽など)を探す方法 (4 PV)

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

  1. SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (2283 PV)
  2. 最新のGoogle News(グーグルニュース)日本版のRSSが取得できるURL (1424 PV)
  3. Google News (グーグルニュース)日本版 (1347 PV)
  4. 有力将棋系ユーチューバーのショウヤンさんが将棋ウォーズで「ソフト指し」を告白し衝撃走る (575 PV)
  5. Tumblr(タンブラー)のダッシュボードからおすすめ投稿を消す(非表示にする)方法 (280 PV)
  6. USTREAM(ユーストリーム) 日本語版 無料のライブ映像配信サービス (209 PV)
  7. ウェブページを1回だけリロード(再表示)する方法 (197 PV)
  8. YouTube(ユーチューブ)日本版 - 動画共有、ライブ配信 (186 PV)
  9. [Perl]UTF-8でエンコードされた文字列の文字数を取得するコード (181 PV)
  10. [将棋]角換わり▲4五桂速攻(△6五桂速攻) #佐藤天彦名人 #三浦弘行九段 (168 PV)

アクセス統計

ディレクトリ

関連サイト