No.1ベストアンサー
- 回答日時:
No.4
- 回答日時:
2進数は例えばこのように表されます。
11111111
hgfedcba
aの部分が1ですから+1
bの部分が1ですから+2
cの部分が1ですから+4
dの部分が1ですから+8
eの部分が1ですから+16
fの部分が1ですから+32
gの部分が1ですから+64
hの部分が1ですから+128
合計 255です。
もし各部分が0ならば+0になります。
ここでMid()関数を利用して
for i=1 to 8
n=Mid("11111111",i,1)
if n="1" then Total=Total+2^(8-i) '合計に2の(8- i)乗を加える。i=1のとき128 i=2のとき64
else Total=0+Total
end-if
next i
でどうでしょう。
No.3
- 回答日時:
何となく作ってみました。
MsgBox BIN2DEC("10000000") みたいに文字列で与えてください。
入力値のエラーチェックなどは入れてないので実際に使うときはちゃんと完成させてくださいね。
入力値を各桁ごとにばらして、
1桁目には 1を掛ける。2桁目には 2を掛ける。3桁目には 4を掛ける・・・係数をループのたびに 2倍してく感じで。
Function BIN2DEC(aBin As String) As Long
' 入力値の桁数だけ要素を持つ配列を用意
Dim binArray() As Long
ReDim binArray(Len(Trim(aBin)) - 1)
' 入力値の各桁を配列に格納する。
' 入力値の左端から右に向かって処理してます。
Dim i As Long
For i = 0 To UBound(binArray)
binArray(i) = Mid(aBin, i + 1, 1)
Next i
Dim coefficient As Long ' 係数
coefficient = 1
Dim dec As Long ' 戻り値
' 各桁に適切な係数を掛けて足していく。
Dim h As Long
For h = UBound(binArray) To 0 Step -1
dec = dec + binArray(h) * coefficient
coefficient = coefficient * 2
Next h
BIN2DEC = dec
End Function
No.2
- 回答日時:
こんばんは。
簡単なサンプルを。。。
----------------------------------------------
Sub BinToDeC()
Dim Bin
Dim Dec
Dim N
Bin = 10101010
Dec = 0
For N = 1 To Len(Bin)
Dec = Dec + Mid(Bin, N, 1) * 2 ^ (Len(Bin) - N)
Next N
MsgBox Dec
End Sub
--------------------------------------------
以上です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- C言語・C++・C# 画像の画素値を変えるC言語のプログラムで指定された画像の中に白い三角形を右上に表示させるにはどのよう 3 2022/10/30 01:16
- 高校 情報 10進法72.625を2進法に変換する問題 1 2022/09/13 21:51
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- Ruby VBA 2 2023/01/14 14:14
- Visual Basic(VBA) ExcelVBAで、index、match関数を使用して、指定範囲に出力したい 3 2022/10/18 21:53
- Windows 10 パソコン得意な人どうやって勉強したか教えてください 13 2022/04/26 00:41
- Visual Basic(VBA) 1つの入力フォルダの値を読み込み、3分割をして新しい変数に代入する方法を教えていただきたいです。 読 4 2022/10/17 20:52
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) VBA横データを縦にしたいです 2 2023/08/08 19:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
*をユーザーが入力した数字の数...
-
正負を反転させて出力するプロ...
-
scanf関数について
-
C言語(構造体)
-
数字以外が入力されたらエラー...
-
Java 6人分の得点を入力し、平...
-
4桁の数字以外を入力したらエラ...
-
Eclipseコンソール表示を、リセ...
-
IF文で戻ることはできますか?...
-
VB.NETで16進数+16進数や16進...
-
if文の条件にscanf関数を使うと…?
-
java初心者です。入力されたの...
-
cout関数を使っているのですが...
-
scanfが2回使えない・・・?;
-
プログラミング初心者です。 Py...
-
scanf()で、エラー対応
-
C言語で入力がないと1をだし続...
-
C言語 逆ピラミッドの作り方
-
入力エラーの処理について。
-
コマンドプロンプトからのEOFの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
*をユーザーが入力した数字の数...
-
正負を反転させて出力するプロ...
-
数字以外が入力されたらエラー...
-
プログラミング初心者です。 Py...
-
double型が正常に認識されてい...
-
java初心者です。入力されたの...
-
Eclipseコンソール表示を、リセ...
-
scanfが2回使えない・・・?;
-
C言語scanf_sで何故か2回入力に...
-
if文の条件にscanf関数を使うと…?
-
プログラミングの問題です 「金...
-
Linuxで入力待ちなしkeyread関...
-
ワードで文字を入力する時の変...
-
cout関数を使っているのですが...
-
batプログラム上で文字列を入力...
-
Userformの入力順序をタブオー...
-
scanf が無視されます
-
C言語 逆ピラミッドの作り方
-
gets_sがうまく動かない
-
Excel VBAで、Application.Inpu...
おすすめ情報