Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10935 / 76734 ←次へ | 前へ→

【71341】Re:10進数から2進数への高速変換
発言  ちん  - 12/2/23(木) 0:34 -

引用なし
パスワード
   ▼kein さん:こんばんわ、ちんといいます。
10進ー>2進の変換ですが、命令数が少なくなれば、
処理速度が高速になります。
スピードは比較してませんが、参考サイトのプログラミングを添付します。

Private Function Convert10to2(Value As Long) As String

  Dim lngBit As Long
  Dim strData As String

  Do Until (Value < 2 ^ lngBit)
    If (Value And 2 ^ lngBit) <> 0 Then
      strData = "1" & strData
    Else
      strData = "0" & strData
    End If

    lngBit = lngBit + 1
  Loop

  Convert10to2 = strData

End Function

または、

Function DecToBin(ByVal Dec As Long) As String '10進法→2進法
'左からループ変数、桁数、2進法文字列
Dim cnt&, keta&, Bin$
On Error GoTo Trap

'桁数チェック
If Dec < 0 Or Dec >= 2 ^ 32 Then Exit Function '桁数を確認する
For cnt = 0 To 31
  If Dec < 2 ^ cnt Then
  keta = cnt - 1
  Exit For
  End If
Next

'上の位から分解していく
For cnt = keta To 0 Step -1
  Bin = Bin + CStr((Dec \ (2 ^ cnt)) Mod 2)
Next

DecToBin = Bin

Trap:

End Function

2種類UPします。

サイトの検索方法は、vba 2進変換 で、探してみて下さい。

以上、参考までに・・・
6 hits

【71339】10進数から2進数への高速変換 kein 12/2/22(水) 23:14 質問
【71340】Re:10進数から2進数への高速変換 kanabun 12/2/23(木) 0:20 発言
【71341】Re:10進数から2進数への高速変換 ちん 12/2/23(木) 0:34 発言
【71344】Re:10進数から2進数への高速変換 kanabun 12/2/23(木) 17:11 発言
【71345】Re:10進数から2進数への高速変換 kein 12/2/23(木) 20:55 お礼
【71354】Re:10進数から2進数への高速変換 yoko 12/2/24(金) 17:44 発言
【71355】Re:10進数から2進数への高速変換 ichinose 12/2/24(金) 18:07 発言
【71360】Re:10進数から2進数への高速変換 kein 12/2/24(金) 23:45 質問
【71363】Re:10進数から2進数への高速変換 ichinose 12/2/25(土) 1:17 発言
【71364】Re:10進数から2進数への高速変換 ichinose 12/2/25(土) 1:41 発言
【71365】Re:10進数から2進数への高速変換 kein 12/2/25(土) 2:05 お礼
【71367】二箇所訂正です ichinose 12/2/25(土) 11:23 発言

10935 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free