当前位置: 首页 > news >正文

[计算机科学#11]:编程语言简史,从二进制到简约表达的华丽转身,造就原因——“懒”

[LOGO]:CoreKSets

           【核知坊】:释放青春想象,码动全新视野。          

            我们希望使用精简的信息传达知识的骨架,启发创造者开启创造之路!!!          


内容摘要 由于早期的编程需要直接操作硬件,例如使用穿孔卡片或控制面板,这一过程不仅繁琐且耗费大量精力。为了将更多注意力集中在业务逻辑和实际问题的解决上,人们迫切需要一种更简便的编程方式。由此诞生了“软件”这一概念,作为人类与计算机之间的桥梁。从最初的二进制操作码,到使用助记符的汇编语言,再到结构化、面向对象的高级语言,每一次技术进步都极大地降低了编程门槛,使人与计算机的交流变得更加自然与高效。这种演进不仅推动了计算机技术的发展,也让更多人能够参与到编程和数字化创造中来。

关键词:汇编器 编译器 高级语言


其他相关文章:

[计算机科学#10]:早期的计算机编程方式-CSDN博客

[计算机科学#9]:更高级的CPU,榨干每个时钟的价值-CSDN博客

[计算机科学#8]:指令与程序的奥秘-CSDN博客

二进制编写程序


        在[计算机科学#8]中,我们详细介绍了CPU处理器是如何运行指令的。每条指令通常由操作码数据地址组成:操作码告诉CPU应执行何种运算逻辑,而数据地址则指明从何处获取运算所需的数据。这些内容均以二进制形式表示,当指令数量和位数较多时,识别和记忆各种操作码的功能就变得十分困难。

        为了解决这个问题,人们在正式编写程序前,常用人类语言先描述任务的运行步骤,例如:“计算1月份每天的收入,并将它们相加”。这种以接近自然语言的方式表达的程序思路被称为伪代码。伪代码本身不能直接被计算机执行,因此程序员需要参考操作码表,将伪代码逐步翻译成具体的操作码和地址信息,最终转换为二进制指令,组成一个可以被CPU执行的完整程序。

汇编器,使用助记符翻译二进制


        与其逐条查表、反复确认复杂的二进制指令,不如使用更易记的人类语言词汇或缩写来表示某个操作。比如,用 “Add” 来代表二进制的 1010,用 “Load_A” 来表示 10010010。程序员可以直接使用这些助记符编写程序,而无需手动处理繁琐的二进制序列。

        将助记符转换为二进制指令的过程被称为 “汇编”,完成这一工作的专用软件叫做 “汇编器”。汇编器本身由二进制编写,但一旦它构建完成,就可以极大地提高后续程序编写的效率——一次开发,多次受益。

        随着发展,汇编器功能日益强大,不仅能将助记符转换为机器指令,还能自动分配跳转地址、管理内存位置等。这意味着程序员不再需要手动指定复杂的内存地址或跳转逻辑,从而大大减少了与底层硬件的直接交互,让编程更加高效和可靠。

第一个编译器:A-0


        格蕾丝·穆雷·霍珀(Grace Murray Hopper,1906年12月9日—1992年1月1日),本名格蕾丝·布鲁斯特·穆雷(英语:Grace Brewster Murray),霍珀为夫姓,生于美国纽约州纽约市,美国海军准将及计算机科学家,世界最早一批的程序员之一,也是最早的女性程序员之一。她是哈佛一型计算机上第一个专职程序员,创造了现代第一个编译器A-0 系统,以及第一个高级商用计算机程序语言COBOL,被誉为“COBOL之母”。

        A-0 编译器是历史上最早的编译器之一,它能够将高级语言指令转换为汇编语言机器码,大大减少了程序员对计算机底层逻辑的直接干预。这项开创性的工作由格蕾丝·穆雷·霍珀领导完成,标志着“用人类语言与计算机沟通”的理念首次真正落地。然而,在当时,这种高级语言的思想过于超前,许多人对霍珀的成果持怀疑态度,认为脱离硬件细节的编程方式不切实际。因此,A-0 编译器并未在当时获得广泛传播,相关的编程代码和文档几乎未被系统保存下来,成为计算机史上一段宝贵却模糊的记忆。

X1 = 12
X2 = 20
Y = X1 + X2

        以 Python 代码为例,程序的操作通常非常直观,例如:将 X1X2 相加,并将结果存储到 Y 中。代码中等号左侧的 X1X2Y 被称为变量,本质上是数据的内存地址。在程序运行过程中,编译器会将这些变量映射到实际的内存地址,对应的值就存储在那块地址中。对程序员来说,我们只需要关注变量的名称和用途,而不必去关心底层对应的内存地址究竟是什么。这种抽象屏蔽了底层细节,使编程更专注于逻辑和功能,也体现了高级语言的强大之处。

高级语言让编程更方便


Fortran

        Fortran最初由IBM在1950年代开发,用于科学和工程应用,并随后长时间统治了科学计算编程。它已经在计算密集领域里应用了超过六个年代,比如数值天气预报、有限元分析、计算流体力学、地球物理学、计算物理学、晶体学和计算化学。它是高性能计算的流行语言,并被用于世界上最快超级计算机的基准测试和排名。

        由于当时高级语言仍处于起步阶段,许多编程语言只能运行在特定厂商生产的计算机上。例如,Fortran 只能在 IBM 的计算机上运行。这种依赖硬件平台的特性,极大地限制了程序的移植性和通用性。这就像是你家门口明明有小卖部,但买瓶水却必须跑到10公里外的大超市——既不高效,也不现实。更严重的是,计算机硬件更新换代频繁,每次设备升级,原有程序可能就无法运行,程序员不得不重新编写整个系统,既耗时又烧钱。

        为了解决这一危机,1959 年,来自工业界、学术界和政府的计算机专家联合成立了一个特别工作组,Grace Hopper 担任顾问。这个团队的目标是开发一种跨平台、面向商业用途的通用语言。最终,这种语言被命名为 “COBOL”(Common Business Oriented Language,普通面向商业语言),标志着现代跨平台编程理念的萌芽。

COBOL

        COBOL属于编译语言,是最早的高级编程语言之一,也是最早实施标准化的计算机语言之一。COBOL主要应用于商业数据处理领域,此间大量的数据通常以文件的形式存储在磁盘上,它提供强大的文件处理功能,对各种类型的数据进行收集、存储、发送、分类、排序、计算及打印报表、输出图像。

        为了实现对不同底层硬件的兼容,每种计算机架构只需配备一个对应的 COBOL 编译器。这些编译器都能接收相同的 COBOL 源代码,无论运行在哪种计算机上,都可以实现“一次编写,到处运行”的目标。开发者无需再关注特定 CPU 的汇编指令或机器码,从而大大降低了使用门槛。

        这一转变不仅推动了计算机科学的普及,使其从一门晦涩的专业学科走向大众应用工具,也催生了一个新角色:程序员——他们借助更高层次的语言抽象,开始构建更加复杂、功能更强大的软件系统。

        这一时期,随着编程语言的发展与硬件性能的提升相辅相成,编程语言设计的黄金时代才刚刚拉开帷幕。计算机正在从科研设备走向工业应用与日常生活,现代软件世界的基础也由此奠定。

编程语言发展时间表


📍1960年代
  • ALGOL(算法语言之父,影响深远)

  • LISP(人工智能研究的核心语言)

  • BASIC(简化教学用编程)

📍1970年代
  • Pascal(教育用途广泛)

  • C(系统编程的基础语言)

  • Smalltalk(面向对象编程的先驱)

📍1980年代
  • C++(C 的面向对象扩展)

  • Objective-C(用于 NeXT 和苹果开发)

  • Perl(脚本语言,强文本处理能力)

📍1990年代
  • Python(语法简洁,广泛应用)

  • Ruby(面向对象优雅设计)

  • Java(跨平台开发的重要语言)

📍2000年代
  • C#(微软主导,用于 .NET)

  • Go(Golang)(谷歌开发,简洁并发)

  • Scala(兼具函数式与面向对象特性)

📍2010年代–2020年代
  • Swift(苹果推出,用于 iOS/macOS 开发)

  • Rust(高性能且内存安全)

  • Kotlin(Android 官方推荐语言)

  • TypeScript(JavaScript 的类型增强版)

总结


        计算机的发展离不开开发者的“懒”性——每一次技术迭代,都伴随着对效率和便利的追求,催生了许多超前的创新思想。从最初的二进制操作到高级语言的出现,这一过程不断拉近了普通人与计算机之间的距离,让编程不再是少数人的专属,而是普及到更广泛的使用者手中。


感谢阅览,如果你喜欢该内容的话,可以点赞,收藏,转发。

由于 Koro 能力有限,有任何问题请在评论区内提出,Koro 看到后第一时间回复您!!!


其他精彩内容:

[计算机科学#5]:计算机的“数学大脑”——核心部件ALU揭秘-CSDN博客

[计算机科学#6]:从锁存器到内存,计算机存储的构建与原理-CSDN博客

[计算机科学#7]:CPU的三阶段,取指令、解码、执行-CSDN博客

CPU提速方式


参考内容:

Crash Course Computer Science(Y-T)

相关文章:

[计算机科学#11]:编程语言简史,从二进制到简约表达的华丽转身,造就原因——“懒”

【核知坊】:释放青春想象,码动全新视野。 我们希望使用精简的信息传达知识的骨架,启发创造者开启创造之路!!! 内容摘要: 由于早期的编程需要直接操作硬件,例如使…...

Kubernetes HPA 深度解析:生产环境自动扩缩容实战指南

一、HPA 核心原理剖析 1. 运作机制三步曲 (图示:指标采集 → 决策计算 → 执行扩缩容的完整闭环) 指标采集层:通过 Metrics Server/Prometheus 等组件实时收集 CPU、内存或自定义指标决策计算层:根据当前指标值与目标阈值的比例计算所需副本…...

Matlab 四分之一车体被动和模糊控制对比

1、内容简介 Matlab215-四分之一车体被动和模糊控制对比 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略...

pm2如何执行脚本批量启动多个服务

在 PM2 中批量启动多个服务,可以通过以下几种高效方式实现,具体操作如下: 方法1:使用 ecosystem.config.js 配置文件(推荐) 步骤1:生成配置文件 在项目根目录运行以下命令,生成模板…...

Debian系统详解

以下是关于 Debian 操作系统 的超详细深度解析,涵盖历史、架构、功能特性、管理细节及应用场景等方面,帮助你全面掌握这一经典 Linux 发行版: 一、Debian 概述:开源社区的基石 1. 历史与定位 • 诞生:1993 年由 Ian…...

Dify X 奇墨科技,让AI大模型从“巨头专属”变为“触手可及”

AI大模型和AI Agent蓬勃发展,企业比拼的已不仅是AI技术储备,更是AI应用落地的实战能力。奇墨科技正式成为 AI 应用开发平台Dify中国大陆区企业版合作伙伴,帮助企业更便捷地接触到Dify并使用其开发AI应用。 Dify 是一款简单易用的 LLM 应用开…...

CSS相对定位与绝对定位

在网页设计里,相对定位(Relative Positioning)和绝对定位(Absolute Positioning)是 CSS(层叠样式表)里控制元素位置的关键手段。下面为你详细讲解它们的概念、特点与应用场景。 相对定位 概念…...

正则表达式(Regular Expression)详解

正则表达式(简称"regex"或"regexp")是一种强大的文本模式匹配工具,它使用特定语法来描述、匹配和操作字符串。 基本概念 正则表达式是由普通字符(如字母a到z)和特殊字符(称为"元…...

OpenCV-Python (官方)中文教程(部分一)_Day22

22.3 2D直方图 在前面的部分我们介绍了如何绘制一维直方图,之所以称为一维,是因为我们只考虑了图像的一个特征:灰度值。但是在 2D 直方图中我们就要考虑 两个图像特征。对于彩色图像的直方图通常情况下我们需要考虑每个的颜色(Hue)和饱和度&…...

【软考-高级】【信息系统项目管理师】【论文基础】采购管理过程输入输出及工具技术的使用方法

采购管理概念 项目采购管理包括从项目团队外部采购或获取所需产品、服务或成果的各个过程。项目采购管理包括编制和管理协议所需的管理和控制过程,例如合同、订购单、协议备忘录(MOA)和服务水平协议(SLA)。 采购管理…...

基于STM32、HAL库的CP2102-GMR USB转UART收发器 驱动程序设计

一、简介: CP2102-GMR是Silicon Labs公司生产的一款USB转UART桥接芯片,主要特点包括: 集成USB 2.0全速功能控制器 内置USB收发器,无需外部电阻 工作电压:3.0V至3.6V 支持的数据格式:数据位8,停止位1,无校验 最高支持1Mbps的波特率 内置512字节接收缓冲区和512字节发送…...

信息系统项目管理工程师备考计算类真题讲解十四

一、最小生成树问题 此问题采用破圈法来解决, 1)以1节点为例,找到路径最小 点:1--5:距离为3 2)找1--5最短的节点,选择4:1--5--4:距离为:5 3)找…...

二叉树的基本操作

二叉树的基本操作(C 语言版) 1 二叉树的定义 二叉树的图长这样: 二叉树是每个结点最多有两个子树的树结构,常被用于实现二叉查找树和二叉堆。二叉树是链式存储结构,用的是二叉链,本质上是链表。二叉树通常以结构体的形式定义,如下,结构体内容包括三部分:本节点所存储…...

网络基础入门第6-7集(抓包技术)

前言: 来自小迪安全v2023 内容: 第六集: 大致内容:burpsuit、茶杯、fiddler的抓包流程 1、安装抓包软件的相关证书 2、各大抓包软件的测试 注意用burp抓模拟器的数据包,需要将ip地址设置为本地的ip地址&#xff…...

自定义Widget开发:自定义布局实现

自定义Widget开发:自定义布局实现 一、Flutter布局系统基础 1. 布局约束(Constraints) 在Flutter中,布局系统基于约束(Constraints)的概念。每个widget都会接收来自其父widget的约束,并根据这…...

MyBatis(进阶)(xml标签)

本节⽬标 1. 学习MyBatis的动态SQL查询 2. 掌握MyBatis在项⽬中的应⽤, 可以使⽤Spring MVC完成⼀些基础的功能 1. 动态SQL(XML) 动态 SQL 是Mybatis的强⼤特性之⼀,能够完成不同条件下不同的 sql 拼接 可以参考官⽅⽂档: M…...

英皇娱乐X乐华娱乐携手造星!“英皇乐华青少年艺人培训班”正式启动!

2025年5月8日,英皇娱乐集团与乐华娱乐集团联合宣布,双方将在北京市燕京实验中学合作开设“英皇乐华青少年艺人培训班”,为8至18岁的青少年提供专业的演艺及才艺学习平台。此次合作旨在集合两大娱乐公司在演艺行业的资源与优势,共同…...

Linux云计算训练营笔记day04(Rocky Linux中的命令)

mv 移动(剪切) 源数据会消失 格式: mv 源文件 目标路径 touch /opt/a.txt 创建文件 mv /opt/a.txt /root 移动文件,没有改名 mkdir gongli 创建目录 mv gongli /opt/ 移动目录,没有改名 mv /opt/gongli tedu 移动目录,改名了 …...

枚举 · 例13-【模板】双指针

登录—专业IT笔试面试备考平台_牛客网 代码区&#xff1a; #include<algorithm> #include<iostream> #include<vector> #include<unordered_set> using namespace std;struct INTER{int left,right; }; bool compare(const INTER&a,const INTER&a…...

Linux网络编程day7 线程池and UDP

线程池 typedef struct{void*(*function)(void*); //函数指针&#xff0c;回调函数void*arg; //上面函数的参数 }threadpool_task_t; //各子线程任务的结构体/*描述线程池相关信息*/struct threadpool_t{pthread_mutex_t lock; …...

WHAT - ahooks vs swr 请求

文章目录 ahooks特点常用 Hooks 示例1. useRequest — 封装网络请求逻辑&#xff08;比 SWR / React Query 更轻量&#xff09;2. useDebounce — 防抖值3. useLocalStorageState — 本地存储的状态4. useBoolean — 快速管理布尔状态5. useEventListener — 添加事件监听 ahoo…...

算法训练营第十一天|150. 逆波兰表达式求值、239. 滑动窗口最大值、347.前 K 个高频元素

150. 逆波兰表达式求值 题目 思路与解法 第一思路&#xff1a; 比较简单 class Solution:def evalRPN(self, tokens: List[str]) -> int:stack []for item in tokens:if item ! and item ! - and item ! * and item ! / :stack.append(item)else:b int(stack.pop())a …...

可视化图解算法35:在二叉树中找到两个节点的最近公共祖先(二叉树的最近公共祖先)

1. 题目 描述 给定一棵二叉树(保证非空)以及这棵树上的两个节点对应的val值 o1 和 o2&#xff0c;请找到 o1 和 o2 的最近公共祖先节点。 数据范围&#xff1a;树上节点数满足 1≤n≤105 , 节点值val满足区间 [0,n) 要求&#xff1a;时间复杂度 O(n) 注&#xff1a;本题保…...

如果说开启的TIM3定时器有ccr1,ccr2,ccr3,我想要关闭ccr2的PWM输出,怎么通过代码实现

目录 作用概述&#xff1a; 具体原理&#xff1a; 代码的操作细节&#xff1a; 实际效果&#xff1a; 示意全文&#xff1a; 小结&#xff1a; TIM3->CCER & ~TIM_CCER_CC2E; 作用概述&#xff1a; 作用是禁用 TIM3 的通道 2&#xff08;CCR2&#xff09;的捕获…...

高能数造全固态电池干法电极高品质原纤化技术:驱动干法和全固态电池制造新进程

技术背景 传统湿法电极制备工艺的局限:传统的湿法电极制备工艺需要使用大量的溶剂来溶解粘结剂和分散活性物质&#xff0c;后续还需要复杂的干燥工序来去除溶剂。这不仅增加了生产成本和能源消耗&#xff0c;溶剂的使用和处理还会带来环境污染和安全隐患。 新能源产业发展的需…...

AI驱动的制造工艺:系统化探索与创新

DeepSeek 技术全景 在当今 AI 技术蓬勃发展的时代,DeepSeek 已成为该领域中一颗耀眼的明星。自 2023 年 7 月 17 日成立以来,这家由知名私募巨头幻方量化孕育而生的公司,迅速在 AI 领域崭露头角 。DeepSeek 的目标是开发顶尖的大语言模型(LLM),并利用数据蒸馏技术打造更精…...

Mac 平台获取地区标识符号

以下是添加了详细中文注释的代码版本&#xff0c;解释每一行代码的作用&#xff1a; #include <CoreFoundation/CoreFoundation.h> #include <vector> #include <string> #include <iostream>// 将 Core Foundation 的字符串(CFStringRef)转换为标准 …...

PyTorch 实战:从 0 开始搭建 Transformer

导入必要的库 python import math import torch import torch.nn as nn from LabmL_helpers.module import Module from labml_n.utils import clone_module_List from typing import Optional, List from torch.utils.data import DataLoader, TensorDataset from torch imp…...

Java 显式锁与 Condition 的使用详解

Java 显式锁与 Condition 的使用详解 在多线程编程中&#xff0c;线程间的协作与同步是核心问题。Java 提供了多种机制来实现线程同步&#xff0c;除了传统的 synchronized 关键字外&#xff0c;ReentrantLock 和 Condition 是更灵活且功能强大的替代方案。本文将详细介绍显式…...

【MySQL】存储引擎 - CSV详解

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;博客仓库&#xff1a;https://gitee.com/JohnKingW/linux_test/tree/master/lesson &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &…...

LeetCode算法题(Go语言实现)_62

题目 有两种形状的瓷砖&#xff1a;一种是 2 x 1 的多米诺形&#xff0c;另一种是形如 “L” 的托米诺形。两种形状都可以旋转。 给定整数 n &#xff0c;返回可以平铺 2 x n 的面板的方法的数量。返回对 109 7 取模 的值。 平铺指的是每个正方形都必须有瓷砖覆盖。两个平铺不…...

矿井设备通信破局:ModbusTCP转DeviceNet网关应用实践

矿井设备通信破局&#xff1a;ModbusTCP转DeviceNet网关应用实践 在500米深的金属矿井中&#xff0c;传统人工操控采掘设备存在高风险、低效率问题。某矿业集团引入海希无线遥控器远程控制掘进机&#xff0c;却因通信协议冲突陷入困局&#xff1a;海希遥控器采用DeviceNet协议…...

GrassRoot备份项目

Windows服务项目 Grass.cs using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http.Headers; using System.Net.Http; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Time…...

多级路由器如何避免IP冲突

在多级路由器架构中&#xff0c;避免IP冲突的核心在于合理规划子网、正确配置路由器角色与功能。以下是综合多个搜索结果的解决方案及操作步骤&#xff1a; 一、划分不同子网段 修改LAN口IP地址 主路由器默认LAN口IP为192.168.1.1&#xff0c;次级路由器需更改为不同网段&#…...

VGGNet详解

VGGNet 由牛津大学视觉几何组&#xff08;Visual Geometry Group&#xff09;在2014年提出&#xff0c;凭借极简的 33卷积核堆叠设计 成为经典模型&#xff0c;影响了后续大量网络架构。 1. 网络结构 VGGNet 的核心思想是 通过多层小卷积核&#xff08;33&#xff09;替代大卷…...

TDengine 在新能源行业应用

简介 在当前可再生能源迅速发展的浪潮中&#xff0c;分布式光伏和可再生能源的装机容量已经达到相当可观的规模。尽管新能源的发展得到政策的鼎力扶持&#xff0c;但其并网后对电网的运行调度、供电可靠性以及系统的安全稳定带来诸多新挑战。 分布式光伏&#xff0c;即分布式…...

[人机交互]设计,原型建立和构造

一.建立和构造原型 1.1理解用户需要和技术之间的关系 用户需要和技术之间是一个鸡和蛋的问题 • 用户对产品的理解建立在 与该产品交互 的基础上 • 用户只有在熟悉后&#xff0c;才能 评价 是否需要&#xff0c;及 进一步 的需要 • 构造最终产品需要大量资源 • 原型化 是 …...

C#生成二维码和条形码

C# 实现二维码和条形码生成&#xff1a;从入门到实战 文章目录 C# 实现二维码和条形码生成&#xff1a;从入门到实战一、引言二、准备工作2.1 开发环境搭建2.2 引入相关库 三、生成条形码3.1 条形码基本概念3.2 使用[ZXing.Net](https://ZXing.Net)生成条形码3.2.1 核心代码实现…...

2025.5.8总结(中期审视)

今日记录&#xff1a; 晚上&#xff0c;主管找我聊了关于中期绩效审视的问题。 首先就是让我汇报上半年的工作进展&#xff0c;汇报完后&#xff0c;感觉体现不出自己的工作量&#xff0c;这确实考验个人的汇报能力。 汇报完工作后&#xff0c;主管开始给我提了一些建设性的…...

Pyinstaller编译EXE及反编译

文章目录 适用范围示例文件编译EXE反编译EXE准备工具编译pycdc反编译 反编译得到的文件相关资源下载 适用范围 实测 python3.9可以反编译。从pycdc源代码看&#xff0c;似乎支持到python 3.13。 示例文件 demo.py import sys from PyQt5 import QtWidgets, QtCore, QtGui c…...

3.2.3 掌握RDD转换算子 - 3. 扁平映射算子 - flatMap()

在本节课中&#xff0c;我们深入学习了Spark RDD的flatMap()算子。flatMap()与map()类似&#xff0c;但每个元素可以返回0到多个元素&#xff0c;最终将所有结果合并为一个RDD。通过案例演示&#xff0c;我们首先对单词文件进行了统计&#xff0c;通过map()将每行文本转换为单词…...

深入解析 C# 常用数据结构:特点、区别与优缺点分析

在软件开发中&#xff0c;选择合适的数据结构是提高代码效率和性能的关键。在 C# 中&#xff0c;我们常用的数据结构包括 List、Array、Dictionary<TKey, TValue>、HashSet、Queue、Stack 和 LinkedList。每种数据结构有不同的特点、优缺点和适用场景。本文将结合代码&am…...

LeetCode第284题 - 窥视迭代器

题目 解答一 package leetcode.editor.cn; //leetcode submit region begin(Prohibit modification and deletion) // Java Iterator interface reference: // https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.htmlimport java.util.Iterator; import java.ut…...

克里金模型+多目标优化+多属性决策!Kriging+NSGAII+熵权TOPSIS!

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 克里金模型多目标优化多属性决策&#xff01;KrigingNSGAII熵权TOPSIS&#xff01;&#xff01;matlab2023b语言运行&#xff01; 1.克里金模型&#xff08;Kriging Model&#xff09;是一种基于空间统计学的插值方法…...

驱动开发硬核特训 · Day 30(下篇): 深入解析 lm48100q I2C 音频编解码器驱动模型(基于 i.MX8MP)

作者&#xff1a;嵌入式Jerry 视频教程请关注 B 站&#xff1a;“嵌入式Jerry” 一、背景与目标 在本篇中&#xff0c;我们围绕 TI 的 lm48100q 音频编解码器 展开&#xff0c;深入讲解其作为 I2C 外设如何集成至 Linux 内核音频子系统&#xff08;ASoC&#xff09;&#xff0…...

【RAG】indexing 中的 Hierarchical Indexing(分层索引)

Hierarchical Indexing&#xff08;分层索引&#xff09; 关键词解析&#xff1a; Splits (分割): 原始文档被分割成较小的块。Cluster (聚类): 将语义上相似的文档块分组在一起。Summaries (摘要): 为每个聚类或更高层次的节点生成摘要。RAPTOR (Recursive Abstractive Proc…...

【LeetCode 42】接雨水(单调栈、DP、双指针)

题面&#xff1a; 思路&#xff1a; 能接雨水的点&#xff0c;必然是比两边都低&#xff08;小&#xff09;的点。有两种思路&#xff0c;一种是直接计算每个点的最大贡献&#xff08;也就是每个点在纵向上最多能接多少水&#xff09;&#xff0c;另一种就是计算每个点在横向上…...

【软件设计师:数据库】13.数据库控制与安全

一、数据库语言SQL SQL是结构化查询语言(Structured Query Language)的缩写,其功能包括数据查询、数据操纵、数据定义和数据控制四个部分。 SQL 语言简洁、方便实用、功能齐全,已成为目前应用最广的关系数据库语言。SQL既是自含式语言(联机交互),又是嵌入式语言(宿主语…...

PWN基础-ROP技术-ret2syscall-64位程序栈溢出利用

前置 ret2syscall 的基础我们就不做过多讲解了 利用思路与 32 位类似&#xff0c;只是传参的寄存器是&#xff1a; rdi -> rsi -> rdx -> rcx -> r8 -> r9 我们这里只用到前三个就可以了&#xff0c;以及 rax 还有一个区别就是&#xff1a; 32 位系统调用最…...

基于大模型预测的产钳助产分娩全方位研究报告

目录 一、引言 1.1 研究背景与意义 1.2 研究目的与方法 二、产钳助产分娩概述 2.1 产钳助产定义与历史 2.2 适用情况与临床意义 三、大模型预测原理与数据基础 3.1 大模型技术原理 3.2 数据收集与处理 3.3 模型训练与验证 四、术前预测与准备 4.1 大模型术前风险预…...