计算机组成原理精讲:从补码到浮点运算,彻底搞懂运算器
很多人学计算机组成原理到了“运算方法与运算器”这一章就开始犯怵。前面几章讲数制、编码、逻辑门还算有迹可循一进到补码乘法、浮点对阶、进位链这些东西脑子就开始糊成一团。我当年学这门课的时候班里流传着一句话前几章是热身这一章才是真正开始“劝退”的地方。但等自己后来做嵌入式开发、接触底层优化、甚至面试被追问的时候才意识到这一章的分量——它不只是考试重点更是理解计算机怎么“算数”的核心钥匙。这篇文章我想把这章的脉络彻底给你捋清楚。不管你是正在备考的学生还是想补底层功底的开发者我都会用尽量直白的语言把为什么要有补码、乘除法怎么在硬件里实现、浮点数为什么老不精确、运算器又是怎么“动起来”的一层层拆开讲。你会发现把这些概念串成线之后很多题目其实是同一套逻辑反复用。1. 章节定位运算器凭什么能“算出结果”先别急着背公式。要理解这一章得先搞清楚它在整个计算机体系里到底扮演什么角色。计算机最底层的本事就是算。无论你在屏幕上看到的是游戏画面、网页文字还是一个科学计算的结果最终都落到CPU里成千上万个逻辑门在一瞬间完成的加减乘除。而承担这个“算”的硬件模块就是运算器Arithmetic Logic UnitALU。这一章真正研究的就是“怎么算”的算法和“用什么电路来实现算法”。你可能会觉得这跟平时写代码有什么关系关系太大了。比如你写一行a b编译器最后会翻译成一条加法指令CPU拿到指令后把两个数送进加法器。这里的加法器到底怎么处理负数两个正数相加会不会溢出浮点数的精度误差是哪里来的这些问题的答案都在这一章。再往上说这一章的内容一头连着数字电路逻辑门、触发器等另一头连着指令系统与CPU设计。跳过运算方法不看后面学流水线、乱序执行、甚至编译优化都会觉得缺了一块。因为它确定了“每一条算术指令在电路层面干了什么、花多少个时钟周期”。我后来做性能调优的时候看到某些指令集里还有“乘加融合FMA”这种设计当时第一反应就是——这不就是浮点乘法加法在硬件里的合并优化吗背后全是这一章的基础。这一章的隐藏主线其实只有两条定点数运算和浮点数运算。定点数好理解就是小数点固定的数表面上看像整数但它的核心问题是“怎么处理符号”和“怎么高效实现乘除”浮点数则要处理“小数点飘来飘去”的问题要解决“范围”和“精度”的矛盾。运算器作为硬件载体要同时为这两套运算提供物理支撑。2. 从原码到补码计算机为什么非得“绕圈子”很多初学者不理解明明用原码就可以表示负数为什么还要搞反码、补码这个问题问得非常好它恰恰是整章的起点。答案是为了把减法变成加法让硬件电路变得简单可靠。原码的规则非常简单最高位是符号位0表示正、1表示负其余位表示数值的绝对值。比如用8位表示0000 0011是31000 0011是-3。但你拿它做加减法就麻烦了如果想计算3 - 3你得到的是0000 0011 1000 0011 1000 0110结果是-6完全不对。也就是说用原码做加法符号位不能直接参与运算你必须在电路里额外判断谁大谁小、谁减谁、结果取什么符号。这一堆判断逻辑不仅费晶体管还特别容易出错。补码的诞生本质上是用“模运算”的思想把减法换成加法。什么是模运算想象一个12小时制的时钟。现在是3点想拨到1点可以倒拨2小时3 - 2 1也可以正拨10小时3 10 13在模12下就是1。也就是说在模12下减2和加10是等价的。10就是-2的同余替代。计算机的二进制数位数固定比如8位二进制最多只能表示256种状态2的8次方它天然就是一个“模256”的系统。一个数加上256等于没加。因此把负数表示成“它加上某个大正数后结果为0”的那个正数减法就变成了加法。具体到定义上补码的规则是正数的补码就是它本身负数的补码是原码除符号位外逐位取反再加1。这里教大家一个我常用的速记思路不要死记“取反加1”而是记住“补码就是原码的绝对值往0的状态去补”。比如-3的绝对值是3用8位表示是0000 0011全部取反是1111 1100再加1得到1111 1101。你验证一下1111 1101加上0000 0011结果是0000 0000进位丢弃正好是0。这就是补码的精髓——“模”的概念。现在再看减法就简单了3 - 2可以直接算成3 (-2)。3的补码0000 0011-2的原码是1000 0010反码1111 1101补码1111 1110。两者相加得到0000 0001进位丢弃结果是1。整个过程减法器根本不需要存在只要加法器一边输入3一边输入-2的补码就能得到正确结果。硬件上只需要把数据的最高位当成普通位一起参与运算符号位不再需要特殊照顾电路简洁了一大截。补码有个很反直觉的性质它的范围是不对称的。以8位为例补码能表示的范围是 -128到127而不是 -127到127。因为1000 0000这个编码在补码体系里代表-128它是一个特殊的“坑位”。为什么会有这个坑因为补码的计算规则是“取反加1”0取反加1还是0但-0和0在补码里合并成了一个0。多出来的这一个编码就空出来了自然就留给最小的负数。很多题就爱在这个不对称性上做文章后面我在易错点部分还会再讲。3. 定点数运算加减乘除一次通关定点数运算靠两条腿走路补码负责加减法原码和补码配合负责乘除法。逐一来拆。3.1 补码加减法溢出判断是第一关用补码做加减法规则一句话符号位一起参与运算结果仍按补码解释。但这里最阴险的问题不是计算过程而是溢出。什么是溢出两个正数相加结果太大超出了位数能表示的最大正数或者两个负数相加结果太负超出了能表示的最小负数。这时候结果的符号位会和真实的符号相反你一看结果正变负、负变正就知道出事了。做题的时候最常用的判断方法有两种我都建议掌握因为它们在不同场景下速度不同。第一种是双符号位法也叫变形补码。计算时用两个符号位00表示正、11表示负运算后如果两个符号位变成01说明正溢出结果是正的但太大了变成10说明负溢出结果是负的但太小了。这里有个小技巧你只看最高符号位也就是结果的第一位永远是真正的符号位这样即使溢出了你还能判断结果到底应该是正还是负。第二种是单符号位法看进位情况。最高位向符号位的进位和符号位向更高位的进位这个进位被丢掉如果不同就说明溢出。具体来说这两个进位一个为0一个为1就是溢出了。这个方法计算速度快笔试里画电路时经常用因为它能直接引出后面要讲的溢出判断电路——异或门。我之前辅导过一个同学他每次做补码运算都容易错在“先把两个数转成补码再相加”这步。我提醒他一个习惯做题时先判断符号。同号相加才可能溢出异号相加一定不会溢出。比如正数加负数结果肯定落在两者之间怎么都不可能超范围。有了这个前置判断你再决定要不要用麻烦的双符号位法很多题一眼就能看出来。另外补码加减法线路里有个很实用的视角减一个数等于加它的相反数的补码。所以硬件上只需要一个“取反加一”的电路配合一个加法器就能同时处理加和减。这也是很多考试题里喜欢画的“补码加减法运算器”结构用一个控制信号选择是直接取B还是取B的反码加1。3.2 乘法实现从原码一位乘法到Booth算法乘法在硬件里实现比加法复杂得多。你手动算过乘法就知道它的过程是“乘数每一位与被乘数相乘得到部分积然后部分积移位相加”。计算机也是这样做的只是它没有那么多寄存器同时存所有部分积而是每算出一个部分积就立刻跟累加器里的部分和相加然后移位。这就是“一位乘法”的基本思路。先说原码一位乘法。原码乘法很简单粗暴符号位单独处理正负乘正负得正正负乘异号得负实际就是两个符号位异或数值部分则是绝对值相乘和小学竖式一模一样。具体流程是每次看乘数的最低位是1就把被乘数加到部分积上是0就不加然后部分积和乘数一起右移一位。重复这个操作n次n是数值位数就得到结果。这个过程里加法和移位交替进行所以又叫做“加-移位”法。但原码一位乘法有个大问题最后需要单独处理符号电路上多一道步骤。补码一位乘法就可以把符号位也一起处理进去这就是Booth算法。Booth算法的核心是根据乘数相邻两位的差值来决定操作如果当前位是1前一位是0说明进入了连续的1区间这时候做“减法”加上被乘数的相反数如果当前位是0前一位是1说明走出了连续的1区间做“加法”如果两位相同什么都不做只移位。它本质上是把乘数里连串的1拆成了头尾两次运算从而减少不必要的加法次数——对于像1111 1110这种乘数原码一位乘法要加7次Booth算法只需要2次。很多同学初学Booth算法觉得很抽象我建议把它当成“两个规则”来背看乘数当前最右位和它右边多出来的那位初始补0。10做减法01做加法00或11不做。每次做完加/减之后部分积和乘数一起右移。只要严格按照这个节奏算哪怕你不理解它背后的数学原理也能稳妥算对。当然理解了“连续1是减法加法的来源”之后你会更容易记住规则。3.3 除法实现加减交替法才是工程正道除法比乘法更麻烦因为你要不断判断“减了多少次足够”。原码恢复余数法的思路很直观每次从被除数或余数里减去除数够减就商1不够减就商0如果不够减了还要把减掉的加回来——这就是“恢复余数”这个名字的来历。这个方法好理解但效率太低不够减的时候白减了一次还得做一次反向加法浪费一个周期。所以工程实现里更常用的是“不恢复余数法”也叫加减交替法。它的秘密在前一次的余数上如果上次够减余数是正的下一步继续减去除数如果上次不够减余数是负的这时候不把余数恢复而是让它带着负号进入下一步下一步加上除数——这本质上等价于“把上次多减的补回来”和“继续下一步”合在了一次运算里。每一步都只做一次加法或减法不用来回折腾速度快了一倍。做题的时候加减交替法有个标准流程初始第一次一定做减法余数减除数如果余数为正商上1然后余数左移一位减去除数如果余数为负商上0然后余数左移一位加上除数。咬住这个流程一直循环n次商的各位就出来了。注意最后一次循环之后如果余数为负通常需要修正余数再加一次除数而且商的符号还是单独异或处理。还有一个细节除法的硬件电路通常都用“部分余数左移”而不是“除数右移”原因是左移比右移更容易实现电路上只需要把寄存器里的位往高位挪不需要额外的移位线路横跨多个寄存器。理解了这些小设计你再看教材上那些寄存器互相连接的图就不会一头雾水了。4. 浮点数运算范围和精度鱼与熊掌定点数的致命短板是表示范围太小。比如32位整数最多到21亿处理天文数字或微观粒子数量级就彻底没戏。浮点数就是为此而生它把数字拆成“符号、阶码指数、尾数”三部分用科学计数法的思路表示数字。同样是32位它能表示大约-3.4e38到3.4e38的范围代价是尾数精度有限。这就是浮点数“用精度换范围”的本质。4.1 IEEE 754标准别再把阶码当成普通补码IEEE 754是浮点数的国际标准。单精度float是32位布局是1位符号位8位阶码23位尾数。双精度double是64位1位符号位11位阶码52位尾数。阶码它偏置表示法不是补码。单精度的偏置量是127意思是真实阶码 存储的阶码值 - 127。为什么要偏置而不直接用补码因为浮点数比较大小的时候如果阶码是补码位模式大小和数值大小不对应排序和比较芯片设计会很麻烦。用偏置后存储的阶码越大数值就越大直接比较位模式就行。尾数部分还有个“隐藏位”的细节。科学计数法里规格化的浮点数整数部分总是1比如1.xxx × 2^e。这个1是固定的所以IEEE 754干脆不存它只存后面的小数部分白白多出一位精度。这就是为什么23位尾数实际能表示24位的精度——23位存储加上1位隐含的整数位。很多笔试题目故意考这个“隐藏位”问你“Float的精度是多少”如果你背成23位那就错了。4.2 浮点加减对阶、求和、规格化、舍入、判溢出浮点数加减法手算和硬件实现的流程是一致的一共五步。我建议把这五步当作文科大题一样按顺序背下来每一步都有它的理由。第一步对阶。两个数的阶码必须相同才能直接处理尾数。规则是“小阶向大阶看齐”阶码小的那个数尾数右移每移动一位阶码加1直到两个阶码相等。为什么不让大阶往小阶看齐因为大阶尾数左移会丢失最高有效位误差更大而小阶尾数右移丢掉的是低位的精度相对来说影响更小。第二步尾数求和。因为阶码已经统一直接拿两个尾数相加就行。注意要按补码方式来算因为尾数有正有负。第三步规格化。浮点数的尾数要求绝对值落在[1, 2)区间内。结果如果是0.1xxx这种需要左移规格化尾数左移一位阶码减1结果如果是10.xxx这种进位溢出需要右移规格化尾数右移一位阶码加1。这个步骤手动算的时候最容易马虎——左移右移对应阶码的增减方向我见过不少同学在这步写反。第四步舍入。右移溢出丢掉的那些低位不能直接弃掉会影响精度。常用的是“0舍1入”法丢掉的部分最高位为1就往尾数末位加1为0则直接舍弃。这个方法跟十进制四舍五入几乎一样好理解但要注意连续进位导致尾数溢出时需要再做一次右移规格化阶码又要加1。第五步判断溢出。注意浮点数溢出的判断标准不是尾数而是阶码。阶码超出了它能表示的最大值真正发生了溢出——这时候结果是正无穷或负无穷阶码小于最小值则下溢通常当作0处理。4.3 精度陷阱为什么浮点数相加会“算不准”学完浮点加减法你就明白为什么0.1 0.2 ! 0.3了。0.1和0.2在二进制里都是无限循环小数无法被有限位尾数精确表示存储时就已经有了舍入误差。相加时经过对阶、舍入误差再被放大了一次。我给大家一个亲测有效的规避思路涉及金额或需要精确比较的场景不要用二进制浮点数。做科学计算时如果精度不够优先加一个“误差容限”比如判断两个浮点数相等不要写a b而是判断abs(a - b) epsilon。这个习惯在C、C、Python、Java里通用是新手最容易踩、又最不以为然的坑。浮点数还有一个反直觉的运算规律三个数相加的结果跟结合率无关。比如a (b c)和(a b) c可能结果不同因为中间过程的舍入位置不同。这也是并行计算里误差分析的根源之一——你在多个线程里各算各的再合并结果跟单线程顺序计算的答案竟然对不上不是程序出bug是浮点数运算顺序变了而已。这些问题一旦想明白了编程里很多“闹鬼”的现象都有了合理解释。5. 运算器的硬件实现从公式到电路学完了算法接下来看这些算法怎么变成真正的硬件。这章的“运算器”部分核心就是加法器结构的演进以及围绕加法器搭出来的完整数据通路。5.1 加法器ABC半加器、全加器到串行加法器数字电路里1位加法的基本单元是半加器两个输入a和b输出和S以及进位C逻辑是S a XOR bC a AND b。半加器不处理低位传来的进位所以只能算最低位。要算多位加法需要引入“来自低位的进位输入 Cin”这就是全加器。全加器的逻辑表达式是S a XOR b XOR CinCout ab aCin bCin把n个全加器依次串起来低位的进位输出送到高位的进位输入就组成n位串行加法器。这种方式叫“行波进位加法器”Ripple Carry Adder写代码的人看了会觉得“这不就是循环累加嘛”——没错它的延迟就是这么惨最高位的计算结果要等所有低位进位传过来n位加法器最坏情况延迟是n倍的单个全加器进位延迟。32位整数加法如果这么做主频不可能做得高所以高性能CPU绝不会这么干。5.2 并行进位链同样时间内算完凭什么思路很简单能不能不等着低位进位传上来直接同时知道所有位需要的进位答案是可以但逻辑会指数膨胀。进位只由两个因素决定这一位本身是否产生进位由a和b决定叫生成函数G以及是否会把低位的进位传下去由a和b决定叫传递函数P。有了G和P进位的每一位都可以直接由最低进位和所有低位输入算出来不需要逐级等待。这就是并行进位链也叫先行进位Carry Lookahead。n越大电路表示式越长物理实现越复杂。所以工业上通常做4位或8位一组的并行进位组间再穿成串行或者组间也用并行进位。经典芯片有741814位ALU和74182先行进位发生器教材里常拿它们做例子。我上学的时候买了几片拆机件玩过一阵实际接上发光二极管做加法演示比纸上谈兵有意思得多。真去设计中规模ALU的时候也是这个套路先画加法器再扩展出与、或、非逻辑用多路选择器控制功能号。5.3 数据通路运算器不是孤岛运算器要干活还需要和寄存器、存储器联动。一条加法指令“ADD R1, R2”在硬件上大概是这样走通的控制器发出控制信号把R1的数据送到ALU的A端口把R2的数据送到B端口ALU执行加法结果输出到总线如果是带写回指令再把结果写回目标寄存器同时ALU产生的标志位零标志Z、负标志N、进位标志C、溢出标志V被送到程序状态字寄存器PSW供条件跳转指令使用。这个过程中你会看到运算器并不“智能”它只是被动地接收控制信号做组合逻辑运算。真正决定“算不算、取哪个数、往哪里写”的是控制器。所以CPU内部其实是“控制器指挥、运算器执行、寄存器暂存”的分工体系。理解了这一点后面学到流水线你会瞬间明白为什么同一个ALU在流水线里可以被不同指令分时复用时钟周期和指令周期的差别也会更清晰。数据通路还有一个重要概念是谁是“中转站”——总线。单总线结构下ALU的两个输入端只能通过总线分时取数所以一个双操作数运算可能要分成两个周期分别送数双总线或三总线结构则允许同时送两个操作数性能更高但电路复杂度也更高。这个折中是计算机体系结构里“性价比”思想的第一次明显体现。6. 实战过关易错点与解题技巧速查讲完原理进入实战环节。这章内容多而杂考试和平时的作业里有几个地方是出错重灾区我特意整理出来你可以当速查表用。6.1 高频易错点清单易错点典型错误正确理解补码的范围认为8位补码范围是-127~127正确是-128~1271000 0000表示-128原码与补码的转换对负数求补码时符号位也参与取反符号位不变只对数值部分取反加1单符号位溢出判断只看最高位进位要看最高位进位和符号位进位的异同浮点对阶大阶向小阶看齐小阶向大阶看齐尾数右移浮点规格化方向左移右移和阶码增减对不上尾数左移阶码减1尾数右移阶码加1浮点溢出判定看尾数是否溢出看阶码是否越界尾数溢出可通过规格化修正Booth算法操作忘了看相邻位而总在看当前位用当前位和上一位组合判断加/减/不移我在带同学复习的时候发现大部分人在浮点数对阶和规格化的方向上翻车最频繁。给你一个记忆锚点浮点数变小尾数右移则阶码变大浮点数变大尾数左移则阶码变小。想“数的大小不变阶码和尾数反向变化”这个物理意义比死记“左加右减”深刻得多。6.2 手算练习的三条锦囊第一补码加减法做完之后一定养成“转回原码验证”的习惯。补码结果转原码符号位如果是0直接就是数值如果是1保持符号位其余位取反加1。验算一下很多低级错误当场就能揪出来。第二乘法运算的移位方向是“右移”这点和定点数除法的“左移”形成对照。为什么乘法右移因为你每次处理乘数的一位部分积要不断右移去“对齐”更低的位除法是余数整体左移去“对齐”除数的高位。两者方向相反记不住的话就先想一句乘法是从低位往高位逐位算除法是从高位往低位逐位定商。方向自然就出来了。第三做浮点数笔试题时尽量用“表格法”记录每一步的中间结果列名建议为序号、操作、阶码、尾数二进制、说明。逻辑清晰之后其实每一步都只是套流程不会因为忘记做到第几步而乱套。6.3 从这本书延伸到现实最后聊点题外话。学完“运算方法与运算器”之后你如果再回头看那些性能极端敏感的场景——比如数据库里的排序、图形学里的矩阵乘法、神经网络里大量卷积累加——就会发现底层都在反复做同一件事如何在硬件资源有限的前提下把单个算术操作做得既快又可靠。现代CPU号称每时钟周期能做几十次浮点运算靠的不只是主频高更是ALU里多路并行、流水线分段、融合乘法等精巧设计的叠加。我个人实际做项目时的体会是运算方法和运算器这一章难的不是记忆公式而是建立“电路视角”和“算法视角”的互相转换。你在纸上算补码乘法脑子里同时要想这一步在电路里是在拉哪个信号那个移位在寄存器里是哪根线连到哪根线。一旦这种转换成为直觉学后面的CPU设计就会觉得豁然开朗。这章的内容还可以往下扩展的方向很多比如用Verilog或SystemVerilog写一个8位ALU或者在FPGA上搭一个支持有符号乘法的计算单元。纸上得来终觉浅等你真的把Booth乘法器在开发板上跑到LED灯上才算真正把这章内容变成自己的东西。

相关新闻

2026年LED数码管定制:解读行业三大核心趋势

2026年LED数码管定制:解读行业三大核心趋势

引言:LED数码管定制行业正迎来关键转折点近年来,LED光电元器件市场规模持续扩张,据行业公开数据,2024年国内LED元器件市场规模已超千亿元,下游应用从传统领域逐步拓展至汽车电子、医疗电子、新能源等多个高端领域&…

2026/10/16 1:04:32 阅读更多 →
零基础也能上手的GEO软件怎么挑?新手选型3个建议

零基础也能上手的GEO软件怎么挑?新手选型3个建议

GEO是这两年内容圈的热词:让品牌或文章出现在ChatGPT、Perplexity、豆包等AI搜索的答案与引用里。想试的人不少,可一搜“GEO工具”,满屏功能表先把人看晕,零基础到底从哪一款入手?我给团队做选型时踩过几次坑&#xff…

2026/10/16 1:04:32 阅读更多 →
C语言统计非数字字符:从字符串处理到EXE生成完整实战

C语言统计非数字字符:从字符串处理到EXE生成完整实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 1:04:32 阅读更多 →

最新新闻

GetQzonehistory:免费开源的QQ空间说说备份工具,快速完整备份历史说说

GetQzonehistory:免费开源的QQ空间说说备份工具,快速完整备份历史说说

GetQzonehistory:免费开源的QQ空间说说备份工具,快速完整备份历史说说 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory GetQzonehistory 是一个免费的开源备份工具…

2026/10/16 1:54:43 阅读更多 →
Xhorse update tool v1.5.1固件更新指南:从校验解压到避坑实践

Xhorse update tool v1.5.1固件更新指南:从校验解压到避坑实践

简介:Xhorse Update Tool v1.5.1 是专供 Xhorse VVDI 智能诊断设备使用的电脑端升级工具,服务于汽车钥匙匹配、防盗解除、ECU 编程等维修场景。它通过 USB 连接设备后自动检测版本并获取最新更新包,让技术人员及时获得功能优化与 Bug 修复&am…

2026/10/16 1:54:43 阅读更多 →
Linux嵌入式SDIO驱动开发与调试实战指南

Linux嵌入式SDIO驱动开发与调试实战指南

简介:本资源是一套面向嵌入式Linux驱动开发者的SDIO驱动程序学习与实践资料包,聚焦Wi-Fi、蓝牙等典型SDIO外设的内核级驱动原理与实现方法,适用于具备C语言基础和Linux内核模块开发经验的中高级工程师。压缩包共23个文件,约1.3MB&…

2026/10/16 1:54:43 阅读更多 →
音频功率放大器原理图设计:信号链、电源退耦与热设计三重验证

音频功率放大器原理图设计:信号链、电源退耦与热设计三重验证

简介:本资源是一份面向电子工程专业学生、硬件设计初学者及音频电路爱好者的基础实践资料,聚焦音频功率放大器的原理图设计与性能实现。内容围绕TDA2030构成的OCL功放电路展开,完整覆盖前置放大、音调控制(100Hz12dB低音/10kHz12d…

2026/10/16 1:54:43 阅读更多 →
TwinCAT 2.0从入门到精通:PDF手册实战指南与避坑技巧

TwinCAT 2.0从入门到精通:PDF手册实战指南与避坑技巧

简介:《TwinCAT 2.0从入门到精通》是面向Beckhoff自动化系统工程师的实践型教程,由拥有近15年倍福技术工作经验的Lizzy Chen编写,非官方发行。内容聚焦TwinCAT 2这一PC-based控制平台,覆盖系统配置、PLC编程、EtherCAT与K-Bus I/O…

2026/10/16 1:54:43 阅读更多 →
C#上位机ModBus通信开发:协议原理、代码实现与现场排查

C#上位机ModBus通信开发:协议原理、代码实现与现场排查

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 1:53:43 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →