Registered VBAまたはVBSにて32ビットの

Registered VBAまたはVBSにて32ビットの

3月 07, 21
ystscng

no comments

Registered VBAまたはVBSにて32ビットの。aki********さんのロジックがオーソドックスな方法ですがVBAの場合、オーバーフローしてしまうかもしれません。VBAまたはVBSにて32ビットの整数値のビット逆順を求めるコードサンプルを紹介いただけないでしょうか

例)0x01→0x80000000 Registered。- &#;
&#; – ,
//データ型の概要。データ型には。次の表で示されているもの。ユーザー定義型。および
オブジェクトに固有の型が含まれます。データが占めるメモリは。データ要素
の数と各要素のサイズを乗算して求めることができます。 は。
ビット環境では に変換され。 ビット環境では に変換される
ので。実際のデータ型ではその他の数値 数字を含む文字列。
またはこの説明書に関するご質問やフィードバックがありますか?

逆引きVBScript関数一覧。関数の逆引き一覧です。関数の使い方の説明。及び使用例のページへ
リンクしています。* ビット版プラットフォームでのみ使用可 メイン
メニュー 名称順関数一覧分類別関数一覧逆引き関数一覧
文字

aki********さんのロジックがオーソドックスな方法ですがVBAの場合、オーバーフローしてしまうかもしれません。上手くいけばそのまま使えばいいしダメなら、ロジックを拝借して下記の様な工夫してみてはいかがでしょう?Sub TestDim TestVal As LongDim Hexstr As StringDim i As LongDim RevStr As StringDim Result As Long TestVal = HA800002B ' TestData Hexstr = HexTestVal RevStr =For i = LenHexstr To 1 Step -1 RevStr = RevStrRevHexMidHexstr, i, 1 Next i Result = CLngHRevStrEnd SubPrivate Function RevHexVal As String As StringDim Src As LongDim Dest As LongDim i As Long Src = CLngHVal Dest = 0' aki********さんのロジック For i = 0 To 3 Dest = Dest * 2 + Src Mod 2 Src = Src / 2 NextRevHex = HexDestEnd Function雰囲気、以下でどうなりますか4ビット単位Hex の1文字単位で変換してみた0 → 0、1 → 8、2 → 4、3 → C、???Option ExplicitSub test???Dim vC As Variant, v As Variant???vC = Array0, 1, 2, 3, H80000001, H7FFFFFFF, H12345678???For Each v In vC??????Debug.Print Hexv, HexfncSamp1v,??????Debug.Print HexfncSamp1fncSamp1v???NextEnd SubPublic Function fncSamp1ByVal n As Long As Long???Dim sS As String, sR As String???Dim i As Long, j As Long, k As Long???Const CCM As String = 084C2A6E195D3B7F ' 変換表????sR = String8, 0???k = 1???sS = Hexn???For i = LensS To 1 Step -1??????j = CLngHMidsS, i, 1 + 1??????MidsR, k, 1 = MidCCM, j, 1??????k = k + 1???Next???fncSamp1 = CLngHsREnd Functionb = 0For i=0 To 31b = b * 2 + a mod 2 a = a / 2Nextこうかな?2で割ってビット文字列を作り、反転させるしかないと思います。VBAデビットシフトはできないので。

leave A Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です