专治不服:40 亿条 if 语句

该文讲述了一个程序员尝试用一个特殊的算法来判断一个数是奇数还是偶数的故事。

  • 他通过编写大量的if语句来实现这个算法,并尝试将它扩展到不同的位数。
  • 最终,他通过手动编写机器码,并使用函数指针调用这些代码,成功地实现了判断32位数是奇数还是偶数的功能。
  • 然而,他发现这个算法对于大于2^31的数有一些问题,最后他找到了问题并进行了修复。

原文摘要:
最近,我在火车上研究社交媒体时偶然发现了这张截图。当然,随之而来的是一连串的吐槽,批评这位新程序员试图解决计算机科学中的一个经典问题,模运算。

现在,人工智能正在分分钟取代程序员,抢走他们的饭碗,并彻底改变了我们对代码的思考方式,也许我们应该对行业新鲜血液的想法持更开放的态度?事实上,上述代码就是时间与内存权衡的完美范例。你在交换自己的时间的同时,也在交换计算机的内存和时间!真是一种神奇的算法!

于是,我开始探索这种只使用比较来检查一个数字是奇数还是偶数的想法,看看它在现实世界中的效果如何。由于我是高性能代码的忠实拥护者,我决定用 C 编程语言来实现它,因为它是迄今为止地球上速度最快的编程语言(这要感谢具有远见卓识的天才丹尼斯-里奇)。

挖坑过程点击标题见原文。

这个故事告诉我们:

  • 在AI取代程序员的时代,我们应该更开放地接受新鲜血液,尤其是对于解决计算机科学中经典问题的新思路。
  • 通过进行时间-内存权衡,我们可以实现高效的代码,如通过比较来判断一个数字是奇数还是偶数。
  • 尽管编译器和文件格式限制了我们实现算法的规模,但我们仍然可以通过手动编写机器码来实现我们的梦想,即判断任意32位数字是奇数还是偶数。

https://www.jdon.com/71417.html

相关推荐

  1. 40. 组合总和 II

    2023-12-30 14:10:03       57 阅读
  2. LeetCode40. Combination Sum II

    2023-12-30 14:10:03       57 阅读
  3. leetcode 40. 组合总和 II

    2023-12-30 14:10:03       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-30 14:10:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-30 14:10:03       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-30 14:10:03       82 阅读
  4. Python语言-面向对象

    2023-12-30 14:10:03       91 阅读

热门阅读

  1. FolkMQ 新的消息中间件,v1.0.25

    2023-12-30 14:10:03       56 阅读
  2. flink中值得监控的几个指标

    2023-12-30 14:10:03       55 阅读
  3. 【Qt】mkdir()和mkpath()区别

    2023-12-30 14:10:03       42 阅读
  4. Redis学习

    2023-12-30 14:10:03       49 阅读
  5. python学习 21 excel分列

    2023-12-30 14:10:03       61 阅读
  6. Go语言中的包管理工具之Go Vendor的使用

    2023-12-30 14:10:03       59 阅读
  7. K8s-安全机制

    2023-12-30 14:10:03       38 阅读