- 締切済み
2進数→10進数への変換 また その逆
2進数→10進数への変換 また その逆 を作成したのですが、どのようにすれば良いのでしょうか? 宜しくお願いいたします
- nao0
- お礼率10% (50/483)
- Visual Basic
- 回答数5
- ありがとう数3
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- taisuke555
- ベストアンサー率55% (132/236)
私も考えてみました。(マイナスについては考慮していません。) あまりテストしてないので間違えてたらすみません。 '10進→2進 Function FromDecimalToBinary(X As Long) As String Dim Y As String If (X < 0) Then Y = "Error" Else Do Y = X Mod 2 & Y X = X \ 2 Loop While (X > 0) End If FromDecimalToBinary = Y End Function '2進→10進 Function FromBinaryToDecimal(X As String) As Long Dim i As Integer Dim Y As Long '2進チェック If (Replace(Replace(X, "0", ""), "1", "") <> "") Then Y = -1 Else For i = 0 To Len(X) - 1 Y = Y + Mid(X, Len(X) - i, 1) * 2 ^ i Next i End If FromBinaryToDecimal = Y End Function Private Sub Command1_Click() '10進→2進 Label1 = FromDecimalToBinary(Text1) End Sub Private Sub Command2_Click() '2進→10進 Label1 = FromBinaryToDecimal(Text1) End Sub
- atokih
- ベストアンサー率40% (12/30)
10進から2進ならなんとか intTestが10進で、intBit(1 to 16)が2進です If intTest And &H1 Then intBit(1) = 1 Else intBit(1) = 0 End If If intTest And &H2 Then intBit(2) = 1 Else intBit(2) = 0 End If : 以下同様に&H4から&H8000まで
- bouzugabyoubuni
- ベストアンサー率19% (24/126)
No.2を回答した者ですが、 タイトルだけを拝見してカテゴリを算数の分野と思い込んで夢中で回答してしまいました。 したがってNo.2はVBカテでの回答ではございません。 大変失礼いたしました。
- bouzugabyoubuni
- ベストアンサー率19% (24/126)
a進数のn桁目の数字がp(0≦p≦a-1)であるということは、 aの(n-1)乗がpあるという意味です。 ものすごくわかりにくい説明なので、例を使って具体的に説明します。 2進数の数「10011」を10進数であらわすとき、 2進数の「10011」というのは 2の4乗×1 (=16×1 =16 2の3乗×0 (=8×0 =0 2の2乗×0 (=4×0 =0 2の1乗×1 (=2×1 =2 2の0乗×1 (=1×1 =1 という意味ですから、 これを10進数であらわすと (16+2+1=)19になります。 また、10進数の「58」を2進数であらわしてみると 58=32+16+8+2 =(2の5乗×1)+(2の4乗×1)+(2の3乗×1)+(2の1乗×1) ですから、2進数であらわすと111010です。 ここまでくれば当たり前ですが、10進数の数字もおなじ意味です。 26053=20000+6000+50+3 =10000×2 + 1000×6 + 10×5 + 1×3 =(10の4乗×2)+(10の3乗×6)+(10の1乗×5)+(10の0乗×3) 自分でも説明が下手だと思いますが、わかっていただけたでしょうか。
- laputart
- ベストアンサー率34% (288/843)
'A を2進数 Bを10進数とすると ' テキストボックス名を Text1とする ’ラベルをLabel1とする 'Text1に2進数を代入した時のサブルーチンに ----------------------- Dim A As String Dim B As Integer A = Text1.Text B=0 'K = 2の乗数とする K = 0 'LAはテキストA の長さ LA = Len(A) 'Aの文字列を右側から0か1かを調べる For I = LA To 1 Step -1 '1の場合 If Mid(A, I, 1) = "1" Then 'Bの値を増やす B = B + 2 ^ K End If K = K + 1 Next I 'Label1に10真数を代入 Label1.Caption = B --------------------------- 考え方でいうとこんなところですか。 プログラムとしてはこのままでは善くないです。 TEXT1の値に01だけの集合であるかの判断が 必要です。 この場合 例えば Aに 11 を代入すると B = 2~0 + 0~1 = 3 となります 8進数や16進数は関数があります。 ------------------------- 10進数から2進数への変換も必要なら 書きますが...いかがですか?
関連するQ&A
- 2進数から16進数への変換、あるいはその逆について
はじめまして。 高校の情報の授業で「2進数・10進数・16進数」を勉強しています。 どうしても2進数から16進数への変換、あるいは、16進数から2進数への変換の方法がわかりません・・・ 初心者でも分かりやすい解説をお願いします。
- ベストアンサー
- 数学・算数
- n進数から10進数に変換するには
toString(n)を使えば10進数をn進数に変換できますよね。それとは逆に、n進数を10進数に変換するにはどうすればよいのでしょうか。 宜しくお願いします。
- ベストアンサー
- JavaScript
- 『2進数→16進数の変換』などの総称は?
プログラム作成の練習として、 2進数を16進数に変換 16進数を2進数に変換 などができる簡単なプログラムを作成しました。 これらのプログラムを全てまとめて何か日本語の名前をつけたいのですが、何とつけるのが適してるのでしょうか? 今は『進数変換』や『記数法変換』という名前を考えています。 数学に詳しい方や、数学が好きな方、アドバイスをお願いします。
- ベストアンサー
- 数学・算数
- 16進数から2進数への変換
まったくの初心者で困っています(涙) 16進数から2進数への変換プログラム を作成しようとしているのですが うまくいきません! どなたか教えて下さる方はいらっしゃいませんか?
- ベストアンサー
- Java
- 10進数→2進数への変換
VBの関数で 10進数→2進数への変換 のライブラリはあるのでしょうか? それとも自分で作成するのでしょうか? もし作成する場合、何か参考になるHPを教えて下さい また作成された方が居られましたら、その関数を頂けないでしょうか 初歩的な質問で申し訳ございません、よろしくお願い申し上げます
- 締切済み
- Visual Basic
- 逆フーリエ変換について、、、
g(ω)=(T/√2π)exp〔(-1/2)(T^2){(ωーω0)^2}〕 ω0は定数です。ωは各周波数です。 これを逆フーリエ変換したいのですがどうもきれいにできません。 どなたか詳しく解き方を説明してくださいませんか? おねがいします。
- ベストアンサー
- 数学・算数
- 10進数を2進数に変換したいのですが・・・
こんばんは。 入力された10進数を2進数に変換するというプログラムを、一応作成することができたのですが、表示される結果が逆に表示されてしまいます。(例えば、4なら001) どのようにすれば、正しく表示することができるのでしょうか??ちなみにプログラムは #include<stdio.h> int main(void) { int num; printf("数字を入れてください。\n"); scanf("%d", &num); for(num = num ; num>1 ; num = num/2) printf("%d",num%2); printf("%d\n",num); return 0; } です。
- ベストアンサー
- C・C++・C#
- ラプラス逆変換について
ラプラス逆変換の式の定義が 1 ----∫F(s)e^st ds で与えられることは分かりました 2πi 実際にこれを計算するときには留数定理を使って もとの形f(t)になっていることもわかりました しかし何故この式がF(s)→f(t)に戻せる変換なのか分かりません 普段はラプラス変換表などから ラプラス逆変換を求めるためあまり使わないと思うのですが この式はどういう意味をもったものなのでしょうか
- ベストアンサー
- 数学・算数
- 8進数から2進数に変換の
8進数223を2進数に変換したいのですが、 まず223を10進数に変換(2×8^2+2×8+3×1=147)→それから2進数に変換→答えは10010011 という方法しかないのでしょうか? 10進数に変換せず、直接2進数にする方法はあるのでしょうか?
- ベストアンサー
- その他([技術者向] コンピューター)
- 二進数の循環小数を十進数に変換する方法
二進数の循環小数を十進数に変換する方法が分かりません。 サイトも探してみたのですが、十進の循環を二進数に変換するものは見つかっても、逆は見つからなくて・・・ 教えていただけませんでしょうか、よろしくお願いします。
- ベストアンサー
- 数学・算数
お礼
早速のご回答有難うございます 誠に恐縮ではございますが、宜しくお願いいたします