主页 > imtoken苹果版下载官网 > 编程需要掌握多少数学知识?

编程需要掌握多少数学知识?

imtoken苹果版下载官网 2023-06-26 05:27:27

数学和编程有一种误导性的联系。 许多人认为他们必须擅长数学或数学成绩好才能开始学习编程。 但是为了编程需要学习多少数学呢?

比特币算法作用_比特币高频交易算法_比特币算法模拟C语言

在本文中,我将深入探讨编程所需的数学知识。 你可能已经知道这一切了。

对于基本编程,您需要了解以下内容:

计算机使用二进制数据,只有两个数字:0 和 1。那是因为我们用电子元件制造计算机,让它们只识别两种状态(一个代表 0,另一个代表 1)更便宜。

数字是一样的,但是在不同的基系中有不同的表达方式,因为不同的基系所包含的数是不同的。 十六进制比十进制多六位数,因此我们使用 AF 来表示超过 9 的数字。表示这些基本系统的最简单方法是使用里程表。 以下三个不同的计数器显示相同的数字,但在不同的基本系统中以不同的形式显示:

比特币高频交易算法_比特币算法模拟C语言_比特币算法作用

比特币算法模拟C语言_比特币算法作用_比特币高频交易算法

在新窗口中查看计数器页面

您甚至不需要知道如何从一个基本系统转换到另一个。 每种编程语言都有帮助您转换的函数。

(提醒一下,用十六进制是因为一个十六进制数可以表示四个二进制数。因为十六进制的3对应二进制的0011,而十六进制的A对应二进制的0011 1010对应1010,所以十六进制的3A(十进制的58 )可以写成二进制的00111010。编程中使用十六进制是因为它是二进制的简化。没有人喜欢写全是0和1的数字。)

就这样。 除了基本系统之外,您可能已经知道编程所需的数学知识。 虽然人们普遍认为编程需要学习大量数学知识,但实际上并不需要那么多。 您可能需要学习数学才能编写程序,例如地震模拟器。 事实上,你需要学习地震的数学,而不是因为你要写一个地震模拟器而需要学习数学。

某些编程领域的更高级数学

比特币高频交易算法_比特币算法作用_比特币算法模拟C语言

有些领域需要更多的数学知识(但在 95% 的软件中,您不需要了解它们。)

如果你想编写自己的加密算法(你通常不需要这样做,因为已经有很多好的工具,如果你不是密码学专家,你的程序可能很容易被破解。)如果你只是如果你想加密一些数据,已经有很多加解密软件库了。

因此,即使在上述情况下,您也不需要真正了解 3D 图形、物理或加密的数学知识。 您只需要学习使用软件库即可。

学习编程需要什么?

您需要学习的是如何建模和设计算法。 意思是如何抽象现实世界的计算或数据处理,编写代码,让计算机为你计算。 例如比特币算法模拟C语言,在龙与地下城游戏中,角色和怪物有许多不同的战斗数据:

比特币高频交易算法_比特币算法作用_比特币算法模拟C语言

比特币算法作用_比特币高频交易算法_比特币算法模拟C语言

要看到攻击者击败防御者,请让攻击者掷 20 面骰子。 如果这个数字大于等于攻击者的THAC0减去防御者的防御能力,则攻击成功,防御者受到伤害。 否则,防御者将免费阻止攻击。

我们假设有两个人,Alice 和 Bob,具有以下值:

所以爱丽丝有更多的健康和防御(记住,越低的 AC 越好)。 但是 Bob 更有可能成功击中对手(记住,越低的 THAC0 越好),并造成更大的伤害。 我们说 Bob 的攻击力更强,因为 2d4 可以造成 2-8 的伤害,而 Alice 的 1d6 只能造成 1-6 的伤害。 (如果你懂统计,你可以计算出 Bob 的预期伤害是 5,高于 Alice 的 3.5。)

您敢打赌爱丽丝或鲍勃会赢得比赛,对吗? 很难说谁会赢,看起来势均力敌。 即使您可能擅长统计,但进行此计算将是一件很痛苦的事情。 你甚至不需要知道统计数据来编写“龙与地下城”(模拟战斗)的程序。 只需运行数百或数千次战斗,看看谁获胜更多。

比特币高频交易算法_比特币算法模拟C语言_比特币算法作用

爱丽丝赢得了 12909 场 (43.03%) 的战斗。 Bob 赢得了 17091 (56.97%) 场比赛。

所以我们看到,根据上述值,Bob 略微领先。 计算机运行了 30,000 次战斗模拟。 如果我们用纸笔和骰子进行 30,000 次战斗模拟,可能需要几个月才能得出结果,但我的笔记本电脑只用了 8 秒。

那么如果爱丽丝的生命值从 14 点增加到 20 点呢?谁会赢?

爱丽丝赢得了 19438 场 (64.79%) 的战斗。 Bob 赢得了 10562 (35.21%) 场比赛。

我们看到给 Alice 加 6 health 结果是相反的,Alice 带头了。 那么如果爱丽丝的生命值刚好增加到 16 呢?

比特币算法作用_比特币高频交易算法_比特币算法模拟C语言

爱丽丝赢得了 15176 场 (50.59%) 的战斗。 鲍勃赢得了 14824 场 (49.41%) 的战斗。

所以仅仅增加2点生命值就足以让鲍勃恢复更强攻击力的几率。

看这个程序,它只用加减乘除来计算一个百分比。 即使在更复杂的程序中,当我们需要表示不同的效果时,例如魔法咒语、治疗部位、多重攻击、战斗中切换武器等,我们也不需要了解更多的数学知识。

当然比特币算法模拟C语言,去学习更多的数学。 可以让你成为更好的程序员。 但是为了学习编程需要多少数学知识? 真的很少。

更新:我认为我应该在基础知识中添加基本代数,但只需要知道 X * 3 = 12,知道 X 等于 4。

——————

虽然大多数开发人员会告诉您他们的工作从不需要数学,但经过一番反思,我有一个想法:这是反马斯洛的锤子理论:当你有一把锤子时,你把所有的东西都当作钉子。