機械語

機械語またはマシンコードは、二進数の数字(1と0)で構成される低水準言語です。高水準言語であるSwiftC++などは、コンピューター上でコードを実行する前に、コンパイルして機械語に変換する必要があります。

コンピューターはデジタル機器なので、二進データしか認識できません。すべてのプログラム、動画、画像、テキストの文字は、二進数で表されます。この二進数のデータ、つまりマシンコードは、CPUによって入力として処理されます。その結果の出力は、オペレーティングシステムまたはアプリケーションに送られ、データが画面に表示されます。たとえば、文字「A」のASCII値は、マシンコードでは01000001ですが、このデータは画面上では「A」と表示されます。画像には、各ピクセルの色を決める二進数の値が数千、場合によっては数百万含まれることがあります。

マシンコードは1と0で構成されますが、異なるプロセッサアーキテクチャでは異なるマシンコードが使われます。たとえば、RISCアーキテクチャを持つPowerPCプロセッサには、CISCアーキテクチャを持つIntel x86プロセッサとは異なるコードが必要です。コンパイラーは、プログラムを正しく実行できるように、正しいプロセッサアーキテクチャ向けに高水準のソースコードをコンパイルする必要があります。

機械語とアセンブリ言語の違い

機械語とアセンブリ言語はどちらも低水準言語ですが、コンピューター言語の階層では、マシンコードはアセンブリ言語より下位にあります。アセンブリ言語にはmovaddsubなどの人間が読める命令が含まれますが、機械語には単語も文字も含まれません。一部の開発者は、プログラムを最適化するためにアセンブリ言語を手作業で記述しますが、マシンコードは記述しません。機械語を扱う必要があるのは、ソフトウェアコンパイラーを作成する開発者だけです。

NOTE: 機械語は技術的には二進データで構成されますが、16進数の値で表すこともできます。たとえば、二進数では01011010である文字「Z」は、16進コードでは5Aと表示できます。[/n]

更新日 January 18, 2019 著者: Per C.

quiz知識をテストする

Which programming language was first developed in the 1960s?

A
Swift
0%
B
Java
0%
C
BASIC
0%
D
PHP
0%
Correct! Incorrect!     View the BASIC definition.
More Quizzes →

Tech Terms コンピューター辞書

このページの機械語の定義は、TechTerms.comの著者が執筆したオリジナルの定義です。このページを参照または引用する場合は、定義の直下にある緑色の引用バーをご利用ください。

私たちの目標は、コンピューター用語をわかりやすく説明することです。すべての定義において正確さとわかりやすさを追求しています。フィードバックや新しい技術用語の提案がある場合は、お問い合わせください

Tech Terms ニュースレター

毎日または毎週のニュースレターで技術知識を高めましょう!今すぐ購読して、新しい用語やクイズをメールでお受け取りください。

無料のTechTermsニュースレターに登録する

メールの受信頻度を選択してください

各メールのリンクから、いつでも登録解除または頻度変更ができます。 ご質問はこちらからお問い合わせください。

注意:ニュースレターは英語で配信されます。