こんばんは。
byte[] bytes = {0,0,24,40};
このとき、16進で合計するには、どういう式を立てればよいですか?
現在、10進数で合計していて、88になっています。
var size = 8 * bytes[0] + 4 * bytes[1] + 2 * bytes[2] + bytes[3];
と計算しています。
C#です。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
C#
1byte x = 15;
これはx
に10進表記だと15
になる数を代入するという意味なので
x
に16進表記だとF
になる数を代入するという意味でもあり
x
に2進表記だと1111
になる数を代入するという意味でもあります。
デバッガで変数の中身を見るときは人間様がわかりやすいように10進を選んで表記してくれてるだけです。
var size = 8 * bytes[0] + 4 * bytes[1] + 2 * bytes[2] + bytes[3];
ひょっとして4byteの符号なし整数のバイト配列表現を元の整数に戻したいという話なら
var size = 16777216 * bytes[0] + 65536 * bytes[1] + 256 * bytes[2] + bytes[3];
ですし、普通はBitConverter
使って変換します。
投稿2017/11/29 02:51
編集2017/11/29 03:57総合スコア13521
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/29 03:01
2017/11/29 04:20
2017/11/29 05:53
0
こんにちは。
日常生活とコンピュータの間にある大きな断絶の一つですので非常に勘違いしやすいのですが、10進数や16進数は数値を人が読めるように表現したものですから文字列です。コンピュータにとっては数値ではないのです。
そして、byte型は文字ではありませんのでbyte配列で10進数や16進数を表現することはできません。
例えば、10進数文字列で表現された値をint型等へ変換して各種演算を行い、その結果を16進数文字列へ変換するような操作は可能です。
投稿2017/11/28 15:22
総合スコア23272
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/29 00:07
2017/11/29 02:12
2017/11/29 02:29
2017/11/29 02:40
0
BitConverterですかね?
https://msdn.microsoft.com/ja-jp/library/system.bitconverter.toint32(v=vs.110).aspx
16進で……と言っているのがよくわからないので、この辺を読んで何をしたいのか伝えてもらえたらいいかもしれません。
投稿2017/11/29 01:01
総合スコア13749
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
そもそも
C#
1byte[] bytes = { 0, 0, 24, 40 };
では、bytes の中身は
bytes[0] = 0
bytes[1] = 0
bytes[2] = 24
bytes[3] = 40
なのですから、これを式に従って計算すれば、80 +40 + 2*24 +40 = 48+40=88 で、何ら間違ってはいません。
bytes の中身を 16進数で 与えたい(24 が16進数での24 = 10進数での36)なら、
C#
1byte[] bytes = { 0x0, 0x0, 0x24, 0x40 };
としなければいけません。
投稿2017/11/29 02:52
総合スコア13703
0
基本的に、現在のコンピュータでの内部的な計算は全て2進数で行われるかと思います。
10進数や16進数で計算するということのイメージを伝えられないと、望む回答は来ないかと思います。
画面への計算結果の表示内容を88
ではなく0x58
等としたいということでしょうか。
Visual Studioのウォッチ ウィンドウで上記の変換された表示をしてほしいということでしょうか。
投稿2017/11/29 01:10
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。