C#(.NetFull)だと
int num2 = Convert.ToInt32("1111101000", 2);
みたいにやるところだけど
.NetMicroFrameworkでは Convert.ToInt32が使えないみたい
ということで↓の方法を試してみた
public static int ToInt(string input)
{
int i = 0;
for (int c = 0; c < input.Length; c++) { i = (i << 1) + (input[c] == '0' ? 0 : 1); }
return i;
}
ビットシフトを使っただけ
だけど一応動作する
int i = ToInt("1100");
みたいなかんじで使えばおk
整数を2進数文字列にすることも簡単かも
応用して16進とかも
ただ16進になると三項演算子が使えないからちょっとめんどくさいかも
今は2進数だけだったからこれだけで
機会があったら他の進数も試してみます
0 件のコメント:
コメントを投稿