ここから本文です

コンピュータの世界は全て01の2進数で様々な処理を行っていると聞いたのですが・...

cha********さん

2011/2/617:16:25

コンピュータの世界は全て01の2進数で様々な処理を行っていると聞いたのですが・・・

コンピュータの世界は全て01の2進数で様々な処理を行っていると聞いたのですが、実際は人間にも分かりやすくするために、機械語命令を3桁ごとに8進数、4桁ごとに16進数で扱ったりするとも聞きました。
これは8進数や16進数での表現を、また2進数に変換してから処理を行っているのですか?そうであるならば、その変換はコンピュータ内のどこで、どのように行われているのでしょうか?
色々調べてはいるのですが、進数変換のしかたについて書かれているページや、CPU内部の実装とメモリへのアクセスについて書かれているページに行き着くばかりで、知りたいことが見つけられません。
最近勉強を始めた素人なので質問に不備などもあるかと思いますが、その点も指摘しながらご回答頂けたら幸いです。

閲覧数:
313
回答数:
4
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

por********さん

2011/2/619:22:25

こんにちは。
8進数や16進数での表現を、また2進数に変換してから処理を行っているのですか?
そうであるならば、その変換はコンピュータ内のどこで、どのように行われているのでしょうか?

説明の補足をしますね、
コンピュータは、2進数で扱っています。その表現方法が、16進数でしている、ということです。
人間が分かりやすいので、画面表示や印刷のときに、桁を少なくする目的で、16進数にしているということです。

つまり、変換する、という処理があるとしたら、データを読み込みしたあとで、「画面に表示する処理」とか、データを書き込みする処理が、「変換する」という言い方も出来ますが、ふつう「変換」といったら、エンコードとディコードのことを示す場合など、見た目が全く違ってしまうもののことを示します。2進数と16進数の表示に関しては、たんに見せ方が違うので変換するという言い方はしません。

質問した人からのコメント

2011/2/12 23:43:29

成功 みなさま、ご回答ありがとうございました。
あくまで人間に分かりやすく表記するために16進数が使われるのであって、処理自体は01の2値だけということですね。

ベストアンサー以外の回答

1〜3件/3件中

並び替え:回答日時の
新しい順
|古い順

mas********さん

2011/2/811:30:43

仰るように、コンピュータ内部では、0と1だけで動作しています。。
最終実行コードを16進数で表現しているだけで中身は0と1の塊です。。
内部で変換しているのでは、無いのです。。変換はしていませんよ。。
例えば、12345678+23456789=(bc614e)h+(165ec15)h=35802467 (2224d63)h
0000 1011 1100 0110 0001 0100 1110・・・・ 12345678(0bc614e)h

0001 0110 0101 1110 1100 0001 0101・・・・ 23456789(165ec15)h
を足して
0010 0010 0010 0100 1101 0110 0011・・・・ 35802467(2224d63)h
となります。。
左項が内部処理データ、右項が10進と16進で、あくまで表現だけです。。

khurataさん

2011/2/622:24:11

回答を書くと長くなりすぎるので、疑問を解くたののキーワードを示します。これらのキーワードを手がかりに、学んでいってみてください。

論理値
論理回路
組み合わせ回路
順序回路
レジスタ
シフトレジスタ
メモリ
バス
クロック同期
命令デコーダ

ali********さん

編集あり2011/2/619:04:33

コンピューターは「スイッチON」を1、「スイッチOFF」を0というように、二通りでしかデータを表現できません。
ディスプレイは人が読めるような文字列として表現できます。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる