advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 671 for 』( ! ---- | ----* (0.107 sec.)
』( (96027), ---- (-96148)
[[20120826235943]]
#score: 4666
@digest: caad77877e087c3d61ba1c379d69e84c
@id: 60017
@mdate: 2012-08-27T00:24:36Z
@size: 3295
@type: text/plain
#keywords: 剰+ (54223), 桁桁 (26885), h12345678 (20578), 進数 (18590), リデ (17976), h5f5e0ff (14761), tmpstr (14460), リ進 (12851), 現変 (12185), 桁上 (11493), ナリ (8490), トバ (8179), 換計 (7055), 20120603002950 (7005), 進デ (6676), 見立 (4929), バイ (4617), ゾー (4319), 値表 (3096), イナ (2895), トデ (2720), ェン (2678), フェ (2457), イト (2428), 12345678 (2419), 規投 (2273), 数3 (2064), bb (1647), 、& (1571), 数1 (1536), 数デ (1533), 変換 (1223)
『数値表現変換について_その2』(フェンダー)
[[20120603002950]]の 関連で引き続きご質問させていただきます。 以前バイナリ進数からゾーン進数への 数値表現変換を勉強させていただきました。 前回は 2バイトから4バイトへの変換でしたが 今回は 4バイトから8バイトへの変換でご質問させていただきます。 1234(2バイトデータ)1*16進数3剰 + 2*16進数2剰 + 3*16進数1剰+ 4 VBA計算式→ tmpStr = Format(bb(1) * 16 ^ 2 + bb(2), "0000")で VBAがバイナリ2バイトからゾーン4バイトへ 自動的に計算してくれると教えていただきました。 12345678と4バイトのバイナリ進数データがあったとします。 4バイトから8バイトへの変換計算式でいうと 1*16進数7剰 + 2*16進数6剰 + 3*16進数5剰+4*16進数4剰 +5*16進 数3剰 + 6*16進数2剰++ 7*16進数1剰+8 の計算式になりますよね?? VBAが自動的にしてくれる計算方式がよく分からないのですが・・・ よろしくお願いします。 (フェンダー) -------------------------------------------------------------------------------- こっちのスレッドにも質問があることを見逃していました。 >tmpStr = Format(bb(1) * 16 ^ 2 + bb(2), "0000")で 1バイトデータ二つをバイナリデータに見立てて10進数に変換する計算は、上記でしたね!! 今度は、 1バイトデータ4つをバイナリデータに見立てて10進数に変換する計算は、 1バイトのデータは、二桁の16進数が入っていると見なせますから、 Dim bb(1 To 4) As Byte Dim tmpstr As String bb(1) = &H12 bb(2) = &H34 bb(3) = &H56 bb(4) = &H78 この四つ配列から、 &h12345678 という8桁の16進データを作るには? bb(1)のデータは、6桁桁上げするのですから、16^6を掛ける bb(2)のデータは、4桁桁上げするのですから、16^4を掛ける bb(3)のデータは、2桁桁上げするのですから、16^2を掛ける bb(4)のデータは、0桁桁上げするのですから、何も掛けない(正確には,16^0=1を掛ける) ということになります。 10進数ならば、どうすればよいかをまず考えて、その規則を16進に当てはめていくと理解できます。 よって、今回の例題だと Sub test2() Dim bb(1 To 4) As Byte Dim tmpstr As String bb(1) = &H12 bb(2) = &H34 bb(3) = &H56 bb(4) = &H78 tmpstr = Format(bb(1) * 16 ^ 6 + bb(2) * 16 ^ 4 + bb(3) * 16 ^ 2 + bb(4), "00000000") MsgBox tmpstr End Sub 表示される値は、305419896 で9桁ですね!! これでは、8桁を越えてしまいます。 これは、前回の2バイトバイナリデータのときも懸念されていたことですが 実際には、&h12345678 このような数字は、4バイトバイナリデータとしては,入ってこないと 思われます。&h5F5E0FF ここまでの数字しかしか入ってこないと思います。 オフコンの言語には、10進の桁数で変数が定義できるものがありますからね!! 以上です これも新規投稿を行い、このスレッドを リンクした方がよいと思いますよ!! このスレ、長いでしょう? ichinose ご説明どうもありがとうございます。 >実際には、&h12345678 このような数字は、4バイトバイナリデータとしては,入ってこないと 思われます。&h5F5E0FF ここまでの数字しかしか入ってこないと思います。 確かに前回の2バイトバイナリデータのときも 結果が0080や0005など先頭が00で始まるようなデータになってます。 テストデータがまだ手元にないのですが 入りしだいDAT入出力の結果を見ながら検証を行ってみます。 (フェンダー) ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/201208/20120826235943.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97065 documents and 608341 words.

訪問者:カウンタValid HTML 4.01 Transitional