C+上的机器语言指令+;辅导的 我开始在CPLUS PLSUS网站上学习C++,还有一个关于语言的教程。在该教程中,第一课是关于编译器的,在该课中,可以在找到,他们给出了以下示例:

C+上的机器语言指令+;辅导的 我开始在CPLUS PLSUS网站上学习C++,还有一个关于语言的教程。在该教程中,第一课是关于编译器的,在该课中,可以在找到,他们给出了以下示例:,c++,bits,machine-code,C++,Bits,Machine Code,向计算机发送的单个指令可能如下所示: 00000 10011110 允许用户输入两个数字、将两个数字相加并显示总数的特定计算机机器语言程序可能包括以下机器代码指令: 00000 10011110 00001 11110100 00010 10011110 00011 11010100 00100 10111111 00101 00000000 我的问题是,为什么他们把5位放在前面(在左边),而把另外8位放在右边?左边的5位是什么意思?这组人告诉计算机如何解释右边的8位吗?例如,它是否会告诉计

向计算机发送的单个指令可能如下所示:

00000 10011110
允许用户输入两个数字、将两个数字相加并显示总数的特定计算机机器语言程序可能包括以下机器代码指令:

00000 10011110
00001 11110100
00010 10011110
00011 11010100
00100 10111111
00101 00000000

我的问题是,为什么他们把5位放在前面(在左边),而把另外8位放在右边?左边的5位是什么意思?这组人告诉计算机如何解释右边的8位吗?例如,它是否会告诉计算机,右边的内容是数字、字符或运算符?我曾试图在互联网上找到这个问题的答案,但我找不到任何能为我澄清问题的答案。如果有人能给我一个简单明了的答案,我将不胜感激。

如前所述,它似乎是任意的,一个可能的解释是它将运算符和操作数分开,但由于它是顺序的,最好的猜测是它只是指令地址:

00000=>地址0
00001=>地址1
00010=>地址2
00011=>地址3
00100=>地址4
00101=>地址5

机器代码指令依赖于硬件


将5位数字转换成小数;你应该能够识别出在那之后发生了什么。我认为这可能是因为你在左边只有4个“浪费”的零。这只是
00000000
00000001
00000101
等的一个较短版本。您是否阅读了此表后面的部分?这些数字是一些任意代码,只是为了说明为什么机器语言很难阅读以及为什么会创建高级语言……左侧的这5位数字表示右侧指令(或数据)的内存地址。“Sine Labre Nihil”。Nec omnia Labourum Utilities非常感谢您的回答。
[  op  |        target address        ]
    2                 1024               decimal
 000010 00000 00000 00000 10000 000000   binary