[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)
オープン | 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
- Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (4 PV)
- 完全無料のMT5用ナンピンEA「Nanpin K(ナンピンケイ) MT5」 使用制限無し (2 PV)
- FC2WiFI (2 PV)
- 三井住友海上火災保険、一部業務停止命令の見通し (2 PV)
- RSS/Atom 書籍 (2 PV)
- 円高ドル安 (1 PV)
- node.js (1 PV)
- Googleが過去最大級のアップデートを発表―セマンティック検索実現へ大きく一歩踏み出す (1 PV)
- Python(パイソン) (1 PV)
- おすすめの無料ブログサービスとは (1 PV)
今月のアクセスランキング TOP 10
- Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (5 PV)
- FC2WiFI (3 PV)
- RSS/Atom 書籍 (2 PV)
- 完全無料のMT5用ナンピンEA「Nanpin K(ナンピンケイ) MT5」 使用制限無し (2 PV)
- 日経平均株価(にっけいへいきんかぶか) (2 PV)
- 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(裁量補助EA)「PositionKeeper MT5」 #FX (2 PV)
- 三井住友海上火災保険、一部業務停止命令の見通し (2 PV)
- eワラント (2 PV)
- アドセンス代替広告にアフィリエイト広告を表示する方法 (2 PV)
- 2NN 2ちゃんねるニュース速報+ナビ (2 PV)
アクセス統計
ディレクトリ
関連サイト