91download.com supports a wide range of platforms, including YouTube, Facebook, Twitter, TikTok, Instagram, Dailymotion, Reddit, Bilibili, Douyin, Xiaohongshu and Zhihu, etc. Click the download button below to parse and download the current video
你是否好奇过,计算机是如何处理那些包含多个运算符、函数调用,甚至是嵌套函数调用的表达式呢?让我们深入探索一下这个计算过程。
当我们运行程序时,计算机首先会将第一条指令加载到工作内存中。面对嵌套函数调用的情况,它会首先寻找最内层的括号,并从内向外开始计算。
假设我们在最内层括号中有一个字符串“ How many servings?”。这是一个单一值,所以不需要简化。计算机接着查看括号外的部分,发现是一个输入函数。它将这个值显示在控制台,弹出一个提示框,等待用户输入。直到用户输入答案,它才会继续执行后续的指令。
假设用户输入了“5”,然后按下了回车键。这个数字5会被输入函数返回,但需要注意的是,输入函数总是将输入的值作为字符串返回。所以,这里的5是一个字符串而不是整数。现在,我们有一个更简单的表达式。计算机再次从括号开始计算,发现它已经是一个单一值,所以不需要进一步的操作。
接下来,计算机看到了int函数。int函数将字符串“5”转换为整数并返回值5。现在,我们只剩下一个标准的赋值语句。这个语句告诉计算机去内存中分配一个新的块来记住这个新值,并将其标记为变量“servings”。
当这一指令完成后,计算机将清空工作内存,并寻找程序的下一行。在第二条指令中,计算机遵循PEMDAS(或者MDAS)规则,即先计算括号内的值,然后是指数,接着是乘除,最后是加减。所以,它会首先计算括号内的6减2,然后计算剩下的乘除运算。
在这个过程中,计算机遇到了变量“servings”。它需要去内存中找到与“servings”关联的值。在这里,它找到了值5,并将其代入表达式中,计算得到20。然后是20除以3,得到一个浮点数6.66666循环。计算机将这个值赋给变量“spices”。
接下来的几行中,计算机遇到了空白行和注释行,它会跳过这些行。在处理下一行时,它遇到了两个括号,但这两个括号是同一级别的。因此,它会从左到右依次计算括号内的值。通过计算,最终得到两个数相加的结果,并将这个新值重新赋给变量“spices”。
在处理下一个复杂的表达式时,计算机从最内层的括号开始,逐步向外计算。它替换变量值,执行加法,然后是四舍五入函数,最后将结果转换为字符串。最后,计算机将两个字符串拼接在一起,并通过print函数输出。
当程序执行完毕后,计算机也会清空短期内存中的所有值。所以,下次当你遇到复杂的表达式时,记住,计算机总是从最内层的括号开始,逐步向外计算。
这个计算过程是否让你对计算机的工作原理有了更深的理解呢?你还有哪些关于计算机运算的疑问?欢迎在评论区留言讨论。
Share on Twitter Share on Facebook