C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: バイト型を数字(10進数)に変換したいのですが、、、


(過去ログ 28 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■12902 / inTopicNo.1)  バイト型を数字(10進数)に変換したいのですが、、、
  
□投稿者/ ttazz (1回)-(2008/01/20(Sun) 17:12:20)

分類:[C#] 

2008/01/20(Sun) 17:13:07 編集(投稿者)
2008/01/20(Sun) 17:13:02 編集(投稿者)

バイト型を数字(10進数)に変換したいのですが、
どうすればいいのでしょうか。

byteで31を10進数の1に変換はできるのですが、
byteで01を10進数の1に変換するにはどうすればいいのでしょうか?
以下のような形でデータが送られてくるので困ってます。
よろしくお願いします。

データ長 0A 03 (10進数で2563です)
データ  00 00 00 ......(2563個までデータが続く)

引用返信 編集キー/
■12903 / inTopicNo.2)  Re[1]: バイト型を数字(10進数)に変換したいのですが、、、
□投稿者/ も (7回)-(2008/01/20(Sun) 17:28:11)

まず
・数字を扱いたい
・数値を扱いたい
のかわかりません
用語を整理してくだされ
引用返信 編集キー/
■12904 / inTopicNo.3)  Re[2]: バイト型を数字(10進数)に変換したいのですが、、、
□投稿者/ ttazz (2回)-(2008/01/20(Sun) 17:37:28)
No12903 (も さん) に返信
>
> まず
> ・数字を扱いたい
> ・数値を扱いたい
> のかわかりません
> 用語を整理してくだされ

申し訳ありません。

データ長分をfor文で回したいので、
最終的に欲しいのは、データ長部分の【数値】になります。
わかりにくくてごめんなさい。
引用返信 編集キー/
■12907 / inTopicNo.4)  Re[3]: バイト型を数字(10進数)に変換したいのですが、、、
□投稿者/ Hirotow (147回)-(2008/01/20(Sun) 20:27:47)
BitConverterクラスを使いましょう。
ただしビッグエンディアンには対応してない困ったちゃんなので、
ビッグエンディアンなデータの場合は、
byte[] tmp = new byte[4];
Array.Copy(data, index, tmp, 0, 4);
Array.Reverse(tmp);
int num = BitConverter.ToInt32(tmp);
とかしてやんないと駄目です。
引用返信 編集キー/
■12908 / inTopicNo.5)  Re[4]: バイト型を数字(10進数)に変換したいのですが、、、
□投稿者/ Hirotow (148回)-(2008/01/20(Sun) 20:32:48)
↑この質問には誤爆のようですね。頭の片隅にでもおいといてください。

ということはこういうことですかねえ。
int len = (int)BitConverter.ToUInt16(data, 0, 2);
int[] nums = new int[len];
for(int i=0; i<len; i++){
    nums[i] = data[i + 2];
}

引用返信 編集キー/
■13099 / inTopicNo.6)  Re[5]: バイト型を数字(10進数)に変換したいのですが、、、
□投稿者/ ttazz (3回)-(2008/01/24(Thu) 12:49:44)

【Hirotow様】の方法で動きました。
ありがとうございました。

【も様】もありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -