问题标签 [little-man-computer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1841 浏览

assembly - 带余数的小人计算机整数除法

我设法编写了一个 LMC 程序,该程序在这个模拟器上运行以执行整数除法。但是,如果有余数,它将进入无限循环。

我正试图想出一种方法来保持商数,而不管是否有余数,但我被困住了。

DIVISOR一个想法是通过原始除数增加被除数,然后在分支之前检查负值。但是,只有“零时分支”或“正时分支”可用,所以我可能不得不从头开始重新编写程序以使用反转逻辑。

谁能提供一个可以处理非精确除法的版本?

0 投票
1 回答
1045 浏览

little-man-computer - 如何在LMC中找到奇数的总和

我正在学习 LMC,但我无法在 LMC 中找到 100 之前的奇数之和,例如 1+3+5+7... 等等

我确实编写了将两个数字相加的代码

我不知道如何遍历它,所以我可以得到奇数的总和。如果有人可以请帮助我?

0 投票
1 回答
657 浏览

algorithm - 显示输入了多少正数和负数

我正在尝试编写一个小人计算机程序,它输出我有多少正数和我有多少负数,但它也将负数视为正数。

这是我到目前为止所拥有的:

0 投票
1 回答
755 浏览

little-man-computer - 小人电脑 - 我正在寻找正确的答案

编写一个小人程序来接受不定数量的输入值。输出值将是输入值中的最大值。您应该使用值 0 作为标志来指示输入结束

这是我到目前为止所做的。

输入法

STA第一

BRZ 结束

BRA WHILE ENDWH HLT

数据

0 投票
1 回答
135 浏览

computer-science - 小人电脑中的负除法

当我尝试在 LMC 中用负数进行除法时,我总是陷入循环。例如 10/2 会给我 5,-10/-2 也可以工作并给出 5。问题是当除法中有一个负数时,例如 10/-2 和 -10/2... 10 -2-2-2-2-2=0 ; -10--2--2--2--2--2--2=0 但-10-2-2-2-2-2 不等于0。本来想做绝对值的,结果给我带来了无处……现在真的很紧要关头。如果某个聪明的头脑可以告诉我开悟的方法并结束我的痛苦。

0 投票
2 回答
566 浏览

assembly - 小人电脑还有用吗?

我正在尝试了解计算机的实际工作原理,我找到了一些模拟器软件,但似乎非常复杂(我仍然是初学者)。我看到了 非常古老的Little Man Computer (LMC) 。恐怕该软件的工作方式与当今的实际情况不同。

那么,Little Man Computer 对我学习计算机的工作原理仍然有用吗?有更好的吗?

0 投票
2 回答
164 浏览

algorithm - 如果将值的数量作为第一个输入给出,则对值求和

如何编写一个小人程序,将一系列输入数字相加并输出总和。第一个输入值将包含作为输入的值的数量,这些值将被加在一起。

我知道这可以通过使用 for 循环或 while 循环来完成。

这里我的问题是计算步数。用户可能不会给出任何我们可以用来计数的特定数字,即可能没有任何输入 0 或 1 开始计数。

0 投票
1 回答
100 浏览

little-man-computer - 如何循环和编码为二进制?

我试图让一个程序在 LMC 中运行,将任何数字转换为二进制。

通常我只会使用除法,但我不能这样做,因为小人电脑不允许除法或乘法。我在这方面得到的最远的只是一个简单的INP. 在这个阶段,我不知道如何开始循环,甚至如何开始。

如何开始循环?我该如何阻止他们?我会以某种方式需要一个重复循环来减去一个值,直到它达到 1 或 0。这将实现我的目标,因为我可以输出它。

例如:我输入 33,它在输出中给出 100 001。

我是一个完全的初学者。我今天刚刚拿起它,所以保持简单将不胜感激。

0 投票
2 回答
44 浏览

little-man-computer - 如何取最多 64 个数字并以 000 000 二进制格式输出

目标是接受一个最大为 64 的数字,并以 000 000 格式以二进制形式输出,因此编码为两个十进制值。我知道 LMC 不允许像 010 这样的输出数字,所以像 11 100 这样的格式也是可以接受的。

到目前为止,这是我的代码:

使用输入 63 运行此命令将输出 101 101,因此它以正确的格式输出,但工作不一致:对于输入 62,输出两个 -1

我应该怎么做才能完成这项工作?

0 投票
1 回答
176 浏览

little-man-computer - 冒泡排序 4 个数字

我正在尝试使用 LMC 编写冒泡排序代码,而且效果不会太好。

首先它只是永远循环,我无法弄清楚原因,也许一双新鲜的眼睛会有所帮助?

我不确定是否需要添加“排序 4”部分。

我为此使用LMC。