导航:首页 > 源码编译 > 编译器用数学吗

编译器用数学吗

发布时间:2025-01-31 20:56:06

Ⅰ c语言什么情况需要调用数学函数库

当你调用的数学函数是由标准库中的数学函数库提供时。如求绝对值的函数就是由“math.h”库提供的。也就是你调用到了标准库的函数就要引用标准库头文件,如printf()就要调用“stdio.h”,当然有时编译器是默认包含"stdio.h"。

Ⅱ 学习编译原理之前,除了需要学习c语言外,还需要学什么

主要是会数学逻辑,你可以看看离散数学,其实话说回来 主要看你学编译原理用来干什么了,如果只学理论 你会发现你学完以后依然不知道怎么具体运用,只能知道大概的程序编译过程, 如果你想可以自己也能写出词法分析器语法分析器 甚至语义分析 那么 你最重要的是学好数据结构,我的毕业设计是C语言编译器 刚开始我觉得自动机什么的 是难点 可是到后来我才发现 最重要的是要有良好的数据结构的运用能力 数据结构是一切程序的灵魂!没有合理的存储结构 程序就像没有根基的浮萍

Ⅲ 学好“计算机编译原理”需要具备其他一些知识么

1.你要学到什么水平?是想考试考好还是想实际写出来一个足够强度的编译器?如果是前者,就一句:努力当学霸才是你唯一的出路。
2.对于scanner &parser的话,对于书上所讲的算法的要求是很高的,有很大的依赖性,所以必须理解透彻,即使没有机会实现也要自己动手画画。同时这也是本科阶段所学的编译原理的所有内容。虽然flex和bison很好使,但是强烈不建议使用。
3.对于生成器、连接器或者解释器的话,那么你要了解汇编语言、微处理器、微机接口等计算机基础学科。简单的说就是从底层学到高级语言的层面。这个要求是很高的,毕竟涉及到二进制代码优化等很麻烦的。

Ⅳ 数学之于编程重要呢还是不那么重要

数学之于编程是否重要这个问题,第一感觉会觉得很重要,然后很多人会说,数学在编程上实际上用得很少!所以我们认真的讨论一下,数学对于编程到底有多重要。
首先,“编程”是一个很泛的概念,“编程”这件事对于各个人有不同的意义、
对一般码农来说,编程略等于用户需求实现的过程,写出能运行的代码或者软件就算达到了目的。
编译工具开发的
“天才”级程序员而言,编程几乎等于算法,谈编程几乎等于谈算法。

对开发编译工具的人来说,编程就是编写合符语法的字符串,通过编译器生成能正确执行的程序。

对各种计算机应用领域研究(计算机图形学、计算物理、机器学习、密码学……)的人来说,编程就是实现各种实验的工具。当然有一些部分最终也可能成为应用软件。
编程是计算机科学的子集。而计算机科学涉及的数学很多,以计算机所有分支(计算机图形学、计算物理、机器学习、密码学……)涉及的数学来说明编程需要很多数学,似乎并不洽当。

我尝试单纯从一般编程的情况,列出当中与数学的相关性。

许多编程的构成部分,如整数、实数、变量、常量、运算符、函数、参数、布尔运算等,都是沿自数学上的概念/名字。但在编程中,我们要知道它们和原来的数学概念不一样的地方。

例如,由于计算机只能表示有限的数字,所使用的整数只能是整数集的有限子集,并可使用同余算术。同理,计算机也不能表示实数集,通常是使用浮点数或定点数这些有限子集。编程中的纯函数基本上与数学中的函数概念相同,可以用上单射、满射、双射、反函数学数学概念。

有一些编程的构成部分使用了编程专门的术语,但实际上和数学的概念几乎一样。例如

一维数组(1D array) -> 矢量(vector)/多元组(tuple)
二维数组(2D array)-> 矩阵(matrix)

另外,大部分编程语言不直接支符号计算(symbolic calculation),而只是对表达式进行求值(evaluation)。

在很多场合,编程需要使用到算法,而算法涉及很多数学。但除算法以外,在一般的编程中,我想到涉及数学的部分并不多。

编程时除了考虑正确性及性能,还要考虑很多软件工程上的因素,如内聚性、耦合性、可读性、可扩展性、可测试性等。一般编程需要一些基本的数学知识,但说“编程就是数学”并不洽当。

--
补充:几年前读《Elements of Programming (豆瓣)》时,就因数学基础不好读不太懂,然后就去学抽象代数。不过这本书谈及的内容是否对编程很有帮助,就是见仁见智了。

Ⅳ 编译原理好学吗是偏硬件的吗

我认为编译原理~与大学计算机专业课程的其他科目比起来的话相对较难
真正开发编译器的人的确需要丰富的硬件的知识。
但不能说偏硬件,而且国内编译原理教材着重理论,常常可以忽略对硬件的认识
总的来说,楼主为了考试学编译原理的话,比较难啊,没有偏硬件的说
如果为了开发编译器(尤其静态编译器)的话,难度大 ,需要i强大硬件知识

阅读全文

与编译器用数学吗相关的资料

热点内容
ug如何启动服务器 浏览:444
csgo防抖动命令 浏览:960
如何弄到手机app页面的源码 浏览:441
androidwindows7破解版 浏览:363
解压视频动画怎么拍 浏览:748
连涨启动源码 浏览:163
小奔运动app网络异常怎么回事 浏览:449
php开启压缩 浏览:305
服务器主机如何设置启动 浏览:284
linux配置网络命令 浏览:776
一张照片怎么制作视频app 浏览:910
pythonweb和php 浏览:978
电脑服务器地址ip地址 浏览:824
对矩阵压缩是为了 浏览:913
setfacl命令 浏览:175
linux子系统中断 浏览:344
linux查看进程ps 浏览:228
知识库系统php 浏览:626
小波变换压缩图像python 浏览:154
阿里巴巴程序员怎么月入百万 浏览:176