|
▼MAK さん:
こんばんは。
>再帰計算等試しましたが、難しくかなり手づまっております.
試したコードも見せてください。
0と1の並びなら、二進数ですよね?
下記は、15桁の例です。桁数が、17以上だとシートに表示するのは無理ですけど(Excel2002では)。
'=============================================================
Sub test()
Const 桁 = 15
Dim g1 As Long
Dim g0 As Long
g1 = 1
For g0 = 0 To 2 ^ 桁 - 1
Range(Cells(g1, 1), Cells(g1, 桁)).Value = decbin(g0, 桁)
g1 = g1 + 1
Next
End Sub
'================================================================
Function decbin(myvalue As Long, 桁 As Long) As Variant
'30桁ぐらいなら、これでいけます
Dim g0 As Long
ReDim bit(1 To 桁) As Long
For g0 = 1 To 桁
bit(桁 - g0 + 1) = 0
If myvalue And 2 ^ (g0 - 1) Then bit(桁 - g0 + 1) = 1
Next
decbin = bit()
Erase bit()
End Function
|
|