A 回答 (6件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
私が知っている変換の仕方です。
X・・・変換したい数
B・・・変換したい進法
(1) X÷Bをして商と余りを出す。余りは変換後のB進法の数の最下位になる。
(2) さらに(1)の商に対して同じくBでわり、商と余りを出す。余りは(1)の余りを書いた位の1つ上の位になる。(要するにこの場合は下から2桁目に書く)
(3)これをずっと繰り返し、商が0になるまで続ける
具体例
85を8進数に変換
8)85
~~~~~~
8)10・・・5
~~~~~~
8) 1・・・2
~~~~~~
8) 0・・・1
~~~~~~
↑ここが答え
よって85(10進)=125(8進)
どうでしょうか?
No.2
- 回答日時:
ある数 n を x進数に変換する時、
n を x で割った余りが x進数の 1桁目になり、
n を x で割った商を、さらに x で割った余りがx進数の 2桁目になります。
商が0になるまで同様に繰り返せば変換終了です。
No.3
- 回答日時:
使用する言語はなんなんでしょ?
VB及びVBAですと、「参考URL」の拙文がお役に立つかもしれません。
アルゴリズムに関してのご質問でしたら、
1: 10進数の数値を、整数型の変数に格納する。
2: AND演算子を使って、ビットごとに切り分ける(16進数なら、4ビットごと、8進数なら、3ビットごと、2進数なら1ビットごと)
3:切り分けた各部分に対して符号化を行う
ってな感じになります。
変換後の値のみが知りたいっていう場合でしたら、Windows付属アプリケーションの「電卓」を使えばいいですね。
参考URL:http://www.okweb.ne.jp/kotaeru.php3?q=5200
No.4
- 回答日時:
10進数『35』としましょう。
【2進数にする方法】
2で割でどんどん割ります。
35÷2=17 あまり『1』
17÷2= 8 あまり『1』
8÷2= 4 あまり『0』
4÷2= 2 あまり『0』
2÷2= 1 あまり『0』
1÷2= 0 あまり『1』 答え→100011
*答えは下~上に向かって読みます。
【8進数にする方法】
8でどんどん割ります。
35÷8= 4 あまり『3』
4÷8= 0 あまり『4』 答え→43
【16進数にする方法】
16でどんどん割ります。
35÷16= 2 あまり『3』
2÷16= 0 あまり『2』 答え→23
*16進数の場合、あまりが2桁になってしまったら、
アルファベットで『A・B・C・D・E・F』と
表します。
あまり『10』なら『A』
あまり『11』なら『B』
あまり『12』なら『C』
・
・
・
あまり『16』からは数字で表します。
『10・11・12・…………』
あまり『16』なら『10』
あまり『17』なら『11』
あまり『18』なら『12』
・
・
・
・
No.5
- 回答日時:
16進数がわかりずらい。
との事でしたので補足します。2進数は、おわかりですね。
2進数を表せば16進数とは親戚の様に簡単になります。
01000001 →これを4つづつに分ける→ 0100 0001
そして、左と右に分けて次のルールで勘定する。
○○○●→1 (十進数)
○○●○→2 (十進数)
○●○○→4 (十進数)
●○○○→8 (十進数)
もし、0001 なら、十進数で「1」。
もし、0010 なら、十進数で「2」。
もし、0011 なら、十進数の1と2を足した答え「3」。
もし、0101 なら、十進数の1と4を足した答え「5」。
もし、0111 なら、十進数の1と2と4を足した答え「7」。
・・・以下同様
この様な感じで変換すると、簡単になるよ。
01000001 →これを4つづつに分ける→ 0100 0001
0100 0001は、
0100 → 4(十進数)
0001 → 1(十進数)
になるので、
41(16進数)
もうちょっと難しい問題をあげると・・・
11001111(2進数)を変換するとこうなります。
1100 1111 の二つに分け
8+4 と 8+4+2+1
12と15
だから、「1215」と言う答えは×です。
16進数は、10以上は英字になるからです。
十進数対16進数の表を書いておきますので参考にしてね。
0:0
1:1
2:2
3:3
4:4
5:5
6:6
7:7
8:8
9:9
10:A
11:B
12:C
13:D
14:E
15:F
------ここから16進数は二桁になります
16:10
17:11
18:12
・・・以下同様。
従って答えは、
12と15(十進数)は、
CF(16進数)が答えです。
尚、単位は、
2進数(B)Bitの略です。
10進数(D)Digitの略です。
16進数(H)Hexdecimalの略です
11001111Bは、CFHが答えです。
アセンブラやC言語をマスターする上でこの2進数&16進数はマスターしておくとビットシフトやデバッグ時のダンプなどで重宝しますよ!!
No.6
- 回答日時:
言語はなんでしょうか。
VBでの方法も、どの言語でも使えそうな計算方法もみなさん書いてらっしゃるので、Cオンリーな方法をご紹介します。
共用体とビットフィールドをつかって、計算なくn進数を求める方法です。
ただしnは2のm乗です。
ここでは32ビット整数を16進数に変換します。
以下をmainの中かどっかに貼り付けてください。
----------------------------------------
union{
struct{
unsigned keta1: 4; //1桁目
unsigned keta2: 4; //2桁目
unsigned keta3: 4; //3桁目
unsigned keta4: 4; //4桁目
unsigned keta5: 4; //5桁目
unsigned keta6: 4; //6桁目
unsigned keta7: 4; //7桁目
unsigned keta8: 4; //8桁目
};
unsigned long kazu;
};
kazu = 1234567890;
----------------------------------------
これを実行しただけで、たとえば16進数の3桁目がketa3に入っています。
unsigned keta1: 4;
の4の部分を3とかに変えて、合計が32ビットを超えるように桁を増やせば、8進数(2の3乗)とかもわかります。
この方法ではketa2とかに13とかいう値が入っているので、文字Dとかに変換しなければなりませんね。
この方法は、アルゴリズムを考えると、計算などで求めるよりもはるかに高速です。
命令文は代入だけですから。
ぐだぐだ書いてしまいましたが、Cを使っていなければ何の意味もありませんね。
共用体とビットフィールドが大好きな、はぽるんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
分を時間に変換するプログラム
-
StrConvの使い方について教えて...
-
C++からCへのソース変換について
-
PHPで、日本語からアルファベッ...
-
DOSコマンドでの文字コード変換...
-
線対称の角度を求める
-
エクセルのvbaで検索ボタンを作る
-
Mac 乗数の入力方法
-
tex 郵便記号のだしかた
-
16進数を10進数文字列に変換する
-
VB6のAdressOfをVB.NETに変換し...
-
緯度、経度の 10進法と 60進法...
-
家電製品の電力周波数を変える機械
-
C言語について。
-
Macターミナルで実行中のプログ...
-
アセンブラのタイマー割り込み
-
Windows10でDOSゲーム
-
Excel VBA で処理中断(DoEvents...
-
マイコンからプログラムを読み...
-
スーパーのレジで並んでいたら...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
緯度、経度の 10進法と 60進法...
-
家電製品の電力周波数を変える機械
-
3のつく数字と3の倍数のみを表...
-
エクセルVBAの自動変換機能?
-
10進数をBCDに変換する方法
-
Mac 乗数の入力方法
-
なぜ通信には16進数文字列が使...
-
VB6からVB2010への変換について
-
VB.NETからJavaに変換するツー...
-
C/C++→JAVAに変換するツール
-
【EXCEL】カナ、ひらがなを英字...
-
VB6で10進数を32進数に変換する...
-
逆コンパイルと逆アセンブルの...
-
分を時間に変換するプログラム
-
php
-
VB.NETをJavaに変換するツール...
-
C#でのpngからbmpへの変換について
-
C++からCへのソース変換について
-
マンセル⇔XYZ,RGB変換式或いは...
-
画像ファイル変換(Tiff→PDF)
おすすめ情報