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

C语言基础要素(019):输出ASCII码表

计算机以二进制处理信息,但二进制对人类并不友好。比如说我们规定用二进制值 01000001 表示字母’A’,显然通过键盘输入或屏幕阅读此数据而理解它为字母A,是比较困难的。为了有效的使用信息,先驱者们创建了一种称为ASCII码的交换代码,全称是美国信息交换标准代码。ASCII码使用指定的7位或8位二进制数组合来表示128或256种可能的字符。标准ASCII码也叫基础ASCII码,使用7位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0到9、标点符号,以及在美式英语中使用的特殊控制字符。

在这里插入图片描述

其中:

0-31及127:33个控制字符

这些字符在图一第1列标示,它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。如:

  • 控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;
  • 通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;
  • 8(退格)、9(水平制表符)、10(换行符)、13(回车符)等。

32-126:95个可打印字符

  • 32:空格
  • 48-57:0到9十个阿拉伯数字
  • 65-90:26个大写英文字母
  • 97-122:26个小写英文字母
  • 其余为一些标点符号、运算符号等。

128-255:扩展ASCII码

  • 许多基于x86的系统都支持使用扩展ASCII。
  • 扩展ASCII码允许将每个字符的第8位用于确定附加的128个特殊符号字符、外来语字母和图形符号。

字符与编码

基于这些基础知识,我们编写了一个杂乱的程序,但可以帮助我们对字符与编码的关系建立一个雏形。

#include <stdio.h>int main()
{printf("%cello%c%corld!%c", 72, 44, 119, 10);printf("%c%c%c%c%c\n", 48, 49, 50, 51, 52);printf("ASCII\n");return 0;
}

在这里插入图片描述

现在,一定要理解字符'0'数字0的区别,我们所见的、可读的、可书写的“数字”,它们都是数值字符化。数值0的字符化就是字符'0’,它的ASCII编码是48;控制台上输出的 1234,实际是编码为49 50 51 52的几个字符;而数值0的编码就是0,即图中标示为 NULL的值;数值9的编码就是9,是图中以 HT 标示的值。

#include <stdio.h>int main()
{char char9 = '9';       // 字符9,它的ASCII编码为57char char9_2 = 57;      // 字符9的不直观表示,ASCII表中57对应的字符是9int num9 = 9;           // 数值9,它的ASCII编码为9printf("%d %d\n", char9, char9_2);printf("%c %c\n", char9, char9_2);// 字符9与数值9不一样num9 == char9 ? printf("true") : printf("false");printf("\n");// 将字符9转换为数值9int char_to_num1 = (char9 - '0');   // 与字符'0'相减int char_to_num2 = (char9_2 - 48);  // 正好对应相应数值编码num9 == char_to_num1 ? printf("true\n") : printf("false\n");num9 == char_to_num2 ? printf("true\n") : printf("false\n");return 0;
}

在这里插入图片描述

打印ASCII码表

在编写第一版程序前我们先总结一下,标准ASCII码表有128个字符,其中33个是不可显的控制字符,也就是说用printf函数打印后在屏幕上不可见;另外95个是可见字符,即可打印字符;后面的128个字符属于ASCII码扩展表,我们先不予考虑。这里一个潜在的关键点是:编码从0开始并且连续的!这表示我们可以使用循环语句来处理,下面是最简单的第一版。

#include <stdio.h>int main()
{for (int i = 0; i < 128; ++i){printf("%c ", i);}return 0;
}

在这里插入图片描述

在循环体中我们以%c 控制符打印数值对应的ASCII码,从程序运行结果来看,输出有些杂乱,不可显字符被显示为空心框了。也许你在网上查询过ASCII码表的图示,对于控制字符,有些会显示出一些有趣的形状,这与字体有关,不同的字体对应的编码可能是一种有趣的字符,我们可以设置一下控制台的字体,让其显示更加友好,但这不能改变它们是控制字符的本质。

在这里插入图片描述
在这里插入图片描述

此外,还需要注意到这些情况:

  • 我们在循环体中并没有输出换行符,但第一行在输出一些字符后换行了。
  • 我们无法有效的使用它查询信息,比如说字母’X’对应的编码是多少,
  • 在程序运行过程中,你可能会听到“叮咚”一声铃响。

我们先把程序改进一些,让输出变得美观一些,然后再来解释这些现象,下面是我们改进后的第2版。

#include <stdio.h>int main()
{printf("DEC\t HEX\t CHR\n");printf("--------------------\n");for (int i = 0; i < 128; i += 1){printf("%d\t %x\t %c\n", i, i, i);}return 0;
}

在这里插入图片描述

看一下运行结果图,感觉还不错。这一版中,我们首先使用printf函数打印了一个表头,该表格有三列,分别用于显示当前数值的十进制,十六进制(用格式控制符%x指示)以及字符表示。我们使用水平制表符’\t’控制表格的列间距,'\t’后面多出一个空格,只是为了使代码看起来更清晰。在循环体中,由于printf函数使用了三个控制字符,因此需要将当前数值传值三次。在CHR列,有些控制字符在当前字体下仍然没有对应的显示字符。同时还要注意第10行与第11行之间多了一个空行,这是为什么呢?

查阅一下ASCII码表,我们会发现数值10代表换行控制符。当以%c格式符打印数值10时,相当于执行了一次换行操作,而在循环体中使用printf输出字符时又追了一个\n,因此中间多出了一个空行。同时ASCII码值为7的控制字符代表响铃,其转义字符用’\a’表示,这就是你能听到“叮咚”一声响的原因。你可以使用下面两行响铃代码测试一下。

#include <stdio.h>int main()
{// 第1次响铃printf("\a");// 相当于延时一定时间(糟糕的延时代码),否则两次响铃可能只会听到一次。for (int i = 0; i < 999999999; i++); // 注意:这里是空语句printf("here");// 第二次响铃printf("%c", 7);return 0;
}

现在回到主线任务,这一版的程序已经相当友好了,只是假设控制台是一张纸的话,这样的输出有些太浪费了,毕竟右边空白了那么多,我们完全可以按两列输出。

#include <stdio.h>int main()
{printf("DEC\t HEX\t CHR\t\t DEC\t HEX\t CHR\n");printf("----------------------------------------------------\n");for (int i = 0; i < 128; i += 2){printf("%d\t %x\t %c\t\t ", i, i, i);printf("%d\t %x\t %c\n", i + 1, i + 1, i + 1);}return 0;
}

在这里插入图片描述

看一下输出效果。编码10(LF)代表换行,程序进行换行后,导致下一个输出(编码11)错乱,这是美中不足的地方。关键的一点是:换行后,编码11并没有从下一行的开头输出,而是直接跳转到下一行的当前位置。如果把键盘想像为打字机,它的当前位置就是将要书写的字符位置,再把控制台想像为纸张,在Windows下换行的意思就是让纸向上移动一行,但打字机的书写针头位置并没有改变,这就是为什么11会在这里输出的原因。在Windows下,让打字机回到纸张左边的命令是“回车”,即ASCII编码值为13(CR)的值。所以,你想要跳转到下一行开头输出时,那么对应的控制命令就是回车换行(CRLF)。但在有些系统下,可能仅仅一下LF命令就能完成同样的操作。

这篇文章我是用 Microsoft Visual Code 编写的,我们可以在右下角的状态栏上看到它控制文本文件的换行命令是CRLF

在这里插入图片描述

现在我们尝试将其按三列输出,看看还会有什么问题。

#include <stdio.h>int main()
{printf( "DEC\tHEX\tCHR\t   DEC\tHEX\tCHR\t   DEC\tHEX\tCHR\n" );printf( "----------------------------------""---------------------------------\n" );for ( int i = 0; i < 128; i += 3 ){printf( "%d\t%x\t%c\t   ", i, i, i );printf( "%d\t%x\t%c\t   ", i+1, i+1, i+1 );printf( "%d\t%x\t%c\n",    i+2, i+2, i+2 );}printf( "\n" );return 0;
}

在这里插入图片描述

这次的输出前半部分太凌乱了!

  • 数值10/11/14并没有与列起始处对齐。
  • 数值12消失了!
  • 13居然在14的后面输出!

先来解决10没有对齐到列的问题。数值9代表的是控制字符'\t',这使得对于9的输出,相当于在后面插入一个制表符,即当程序按"%c"格式输出它时,相当于增加了水平间距,这导致后面10的输出没有对齐。为了解决这个问题,我们在按"%c"输出9时,把9替换为32(空格),相当于消除的制表符自身的影响。同理,编码10会引起换行操作,我们也将它替换空格字符。对于消失的12,它是控制符换页的意思,我们也将它替换为空格即可。

最终的成果

#include <stdio.h>int main()
{int i;int c1, c2;printf("DEC\tHEX\tCHR\t   DEC\tHEX\tCHR\t   DEC\tHEX\tCHR\n");printf("---------------------------------""----------------------------------\n");for (i = 0; i < 128; i += 3){if (i == 9 || i == 12 || i == 27){c1 = 32;c2 = 32;}else{c1 = i;c2 = i + 1;}// 当前行从编码i开始,连续输出3个编码,i, i+1, i+2// if语句将影响输出格式的控制字符i转换为了空格printf("%d\t0x%x\t%c\t   ", i, i, c1);printf("%d\t0x%x\t%c\t   ", i + 1, i + 1, c2);if ((i + 2) < 128)printf("%d\t0x%x\t%c\n",    i + 2, i + 2, i + 2);}return 0;
}

在这里插入图片描述

练习

  1. 编写程序将一个小写字母转换为相应的大写字母。
  2. 将控制台重置回之前的设置。

相关文章:

C语言基础要素(019):输出ASCII码表

计算机以二进制处理信息&#xff0c;但二进制对人类并不友好。比如说我们规定用二进制值 01000001 表示字母’A’&#xff0c;显然通过键盘输入或屏幕阅读此数据而理解它为字母A&#xff0c;是比较困难的。为了有效的使用信息&#xff0c;先驱者们创建了一种称为ASCII码的交换代…...

函数柯里化(Currying)介绍(一种将接受多个参数的函数转换为一系列接受单一参数的函数的技术)

文章目录 柯里化的特点示例普通函数柯里化实现使用Lodash进行柯里化 应用场景总结 函数柯里化&#xff08;Currying&#xff09;是一种将接受多个参数的函数转换为一系列接受单一参数的函数的技术。换句话说&#xff0c;柯里化将一个多参数函数转化为一系列嵌套的单参数函数。 …...

基于大模型的主动脉瓣病变预测及治疗方案研究报告

目录 一、引言 1.1 研究背景 1.2 研究目的 1.3 研究意义 二、大模型预测主动脉瓣病变原理 2.1 大模型介绍 2.2 数据收集与处理 2.3 模型训练与优化 三、术前预测与评估 3.1 主动脉瓣病变类型及程度预测 3.2 患者整体状况评估 3.3 手术风险预测 四、术中应用与监测…...

VSCode开发者工具快捷键

自动生成浏览器文件.html的快捷方式 在文本里输入&#xff1a; &#xff01; enter VSCode常用快捷键列表 代码格式化&#xff1a;Shift Alt F向上或向下移动一行&#xff1a;Alt Up 或者 Alt Down快速复制一行代码&#xff1a;Shift Alt Up 或者 Shift Alt Down快速保…...

AI助力PPT制作,让演示变得轻松高效

AI助力PPT制作&#xff0c;让演示变得轻松高效&#xff01;随着科技的进步&#xff0c;AI技术早已渗透到各行各业&#xff0c;特别是在办公领域&#xff0c;AI制作PPT已不再是未来的梦想&#xff0c;而是现实的工具。以前你可能需要花费数小时来制作一个完美的PPT&#xff0c;如…...

行业专家视角下的技术选型与任务适配深度解析

行业专家视角下的技术选型与任务适配深度解析 一、任务属性与技术栈的映射逻辑 &#xff08;1&#xff09;学术类项目需优先考虑技术严谨性、可复现性和理论深度&#xff1a; 机器学习模型开发&#xff1a;PyTorchJupyterMLflow形成完整实验闭环&#xff0c;TensorFlow Exte…...

从零构建大语言模型全栈开发指南:第五部分:行业应用与前沿探索-5.2.1模型偏见与安全对齐(Red Teaming实践)

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 大语言模型全栈开发指南:伦理与未来趋势 - 第五部分:行业应用与前沿探索5.2.1 模型偏见与安全对齐(Red Teaming实践)一、模型偏见的来源与影响1. 偏见的定义与分类2. 偏见的实际影响案例二、安全对齐…...

JUC系列JMM学习之随笔

JUC: JUC 是 Java 并发编程的核心工具包,全称为 Java Util Concurrent,是 java.util.concurrent 包及其子包的简称。它提供了一套强大且高效的并发编程工具,用于简化多线程开发并提高性能。 CPU核心数和线程数的关系:1核处理1线程(同一时间单次) CPU内核结构: 工作内…...

OpenRouter开源的AI大模型路由工具,统一API调用

简介 ‌OpenRouter是一个开源的路由工具‌&#xff0c;它可以绕过限制调用GPT、Claude等国外模型。以下是对它的详细介绍&#xff1a; 一、主要功能 OpenRouter专注于将用户请求智能路由到不同的AI模型&#xff0c;并提供统一的访问接口。它就像一个“路由器”&#xff0c;能…...

3.9/Q2,Charls最新文章解读

文章题目&#xff1a;Association between remnant cholesterol and depression in middle-aged and older Chinese adults: a population-based cohort study DOI&#xff1a;10.3389/fendo.2025.1456370 中文标题&#xff1a;中国中老年人残留胆固醇与抑郁症的关系&#xff1…...

水下图像增强与目标检测:标签缺失的“锅”?

水下图像增强与目标检测&#xff1a;标签缺失的“锅”&#xff1f; 在水下计算机视觉领域&#xff0c;图像增强和目标检测一直是研究热点。然而&#xff0c;一个有趣的现象引起了研究者的关注&#xff1a;在某些情况下&#xff0c;增强后的水下图像用于目标检测时&#xff0c;…...

从扩展黎曼泽塔函数构造物质和时空的结构-13

得到这些数据到底有什么用呢&#xff1f;无非都是振动&#xff0c;只有频率不同。电性振动和磁性振动的正交环绕关系&#xff0c;本质上只是某个虚数单位的平方倍数&#xff0c; 既然如此&#xff0c;我们就可以考虑&#xff0c;把电和磁当成同一种东西。比如通过改变真空介电常…...

Android学习总结之handler源码级

一、核心类关系与线程绑定&#xff08;ThreadLocal 的核心作用&#xff09; 1. Looper 与 ThreadLocal 的绑定 每个线程的 Looper 实例通过 ThreadLocal<Looper> sThreadLocal 存储&#xff0c;确保线程隔离&#xff1a; public final class Looper {// 线程本地存储&…...

多模态学习(八):2022 TPAMI——U2Fusion: A Unified Unsupervised Image Fusion Network

论文链接&#xff1a;https://ieeexplore.ieee.org/stamp/stamp.jsp?tp&arnumber9151265 目录 一.摘要 1.1 摘要翻译 1.2 摘要解析 二.Introduction 2.1 Introduciton翻译 2.2 Introduction 解析 三. related work 3.1 related work翻译 3.2 relate work解析 四…...

adb检测不到原来的设备List of devices attached解决办法

进设备管理器-通用串行总线设备 卸载无法检测到的设备驱动 重新拔插数据线...

探索高通骁龙光线追踪技术

什么是光线追踪&#xff1f; 光线追踪&#xff08;Raytracing&#xff09;是通过模拟现实世界中光线的传播过程并生成更加真实的效果的一种图形渲染技术。 早期在电影&#xff0c;动画&#xff0c;设计等领域已经使用软件摸拟光线追踪来渲染更加真实的图像。一般的做法是从相…...

qRegisterMetaType函数使用

一、有两种形式&#xff1a; 1、int qRegisterMetaType(const char *typeName) template <typename T> int qRegisterMetaType(const char *typeName #ifndef Q_CLANG_QDOC, T * dummy nullptr, typename QtPrivate::MetaTypeDefinedHelper<T, QMetaTypeId2<T&g…...

【北京化工大学】 神经网络与深度学习 实验6 MATAR图像分类

本次实验使用老师发的雷达奇妙数据 实验要求 读取图像形式的MASTAR数据 1、划分数据集为test/train 2、归一化 题目1&#xff1a;定义并训练线性分类器的神经网络 注&#xff1a;本次老师的要求是不限方法&#xff0c;使用pytorch尽可能提升精度 1、准备函数 #本文用的…...

Flutter 的开发环境搭建教程

为了配置Flutter的运行环境&#xff0c;首先我们需要确保你的开发环境支持Flutter&#xff0c;且相关工具都已经安装好。以下是详细的配置步骤&#xff1a; 1. 安装Flutter SDK Flutter是Google推出的用于开发跨平台应用的框架&#xff0c;支持Android、iOS、Web、桌面等多平台…...

MCP:让 AI 应用更聪明,只需几分钟

用 Leonardo.AI 和 FLUX Dev 模型生成&#xff08;作者制作&#xff09; 现在 AI 世界最新的趋势是 MCP&#xff08;模型上下文协议&#xff09;。 如果听起来无聊或者很复杂&#xff0c;别担心 —— 这是个非常简单又有效的工具&#xff0c;可以帮你从零开始构建更好的 AI 智能…...

【编程之路】动态格式化字符串

动态格式化字符串 1.代码功能2.关键组件解析3.完整流程4.示例场景5.注意事项6.典型用途7.总结 &#x1f680; 本文讨论的代码段来自《Python Cookbook》的《2.15.字符串中插入变量》。 针对下面这段代码&#xff0c;我们一起来分析一下。 class safesub(dict):""&qu…...

接收灵敏度的基本概念与技术解析

接收灵敏度是指接收机在特定条件下能够正确提取有效信号的最小输入功率。其技术原理可概括如下&#xff1a;灵敏度主要受热噪声、系统噪声系数及解调所需信噪比共同影响。根据公式(S 10lg(kTB) NF SNR)计算&#xff0c;其中k为玻尔兹曼常数&#xff08;1.3810⁻ J/K&#xf…...

KUKA机器人软件WorkVisual更改语言方法

KUKA机器人的常用的工作软件WorkVisual软件在使用时也可以更改软件操作界面的语言。如果安装时语言没有选择中文&#xff0c;安装完成后也可以进行更改。以下通过WorkVisual 5.0版本进行简单介绍。 一、打开WorkVisual软件5.0版本&#xff1b; 二、在菜单栏选择【Ext…...

图形渲染: tinyrenderer 实现笔记(Lesson 5 - 7)

目录 Lesson 5: Gouraud shadingLesson 6: Shaders for the software rendererphongShading法线贴图Specular mapping 高光贴图tangent space normal mapping ‌切线空间法线贴图 Lesson 7: Shadow mapping GitHub主页&#xff1a;https://github.com/sdpyy 项目仓库:https://g…...

AiCube 试用 - 创建流水灯工程

AiCube 试用 - 创建流水灯工程 本文介绍了 Aiapp-ISP 仿真调试平台软件的 AiCube 工具&#xff0c;实现流水灯工程的快速创建的主要流程。 下载运行 下载 最新版 AIapp-ISP 软件&#xff1b; 解压并打开该软件&#xff0c;右侧操作界面选择并进入 Keil 仿真设置 标签项&…...

DBAPI设置服务器开机自启动

在 /etc/systemd/system 目录下创建一个新的服务文件&#xff0c;例如 dbapi.service [Unit] Descriptiondbapi standalone Service Afternetwork.target[Service] ExecStart/your-path/dbapi-enterprise-4.2.2/bin/dbapi.sh start standalone Restartalways Userroot[Install…...

“Nural”传感科技带给高速吹风筒的技术革命---其利天下技术

风筒界的革命&#xff0c;戴森将高速风筒带到了我们生活里&#xff0c;高速风筒的产生&#xff0c;将无刷电机的运用再一次向推到了我们新的产品领域。 然而随着智能家居领域的运用越来越广泛&#xff0c;戴森又将智能温控概念引入高速吹风筒&#xff0c;HD16引入“Nural”传感…...

DeepSeek-R1模型现已登录亚马逊云科技

在今年的Amazon re:Invent大会上&#xff0c;亚马逊CEO安迪贾西分享了公司内部开发近 1,000 个生成式 AI应用程序的经验教训。基于如此大规模的AI部署实践&#xff0c;贾西提出了三个关键观察&#xff0c;这些观察塑造了亚马逊在企业AI实施方面的方法。 第一点是&#xff0c;当…...

Python入门(8):文件

1. 文件基本概念 文件&#xff1a;存储在计算机上的数据集合&#xff0c;Python 通过文件对象来操作文件。 文件类型&#xff1a; 文本文件&#xff1a;由字符组成&#xff0c;如 .txt, .py 二进制文件&#xff1a;由字节组成&#xff0c;如 .jpg, .mp3 2. 文件打开与关闭…...

408 计算机网络 知识点记忆(4)

前言 本文基于王道考研课程与湖科大计算机网络课程教学内容&#xff0c;系统梳理核心知识记忆点和框架&#xff0c;既为个人复习沉淀思考&#xff0c;亦希望能与同行者互助共进。&#xff08;PS&#xff1a;后续将持续迭代优化细节&#xff09; 往期内容 408 计算机网络 知识…...

《Java编程思想》读书笔记:第九章 接口

目录 9.1抽象类和抽象方法 9.2接口 9.3完全解耦 9.4Java的多重继承 9.5通过继承来扩展接口 9.5.1组合接口时的名字冲突 9.6适配接口 9.7接口中的域 9.7.1初始化接口中的域 9.8嵌套接口 9.9接口与工厂 9.1抽象类和抽象方法 在第8章所有“乐器”的例子中&#xff0c;基…...

【gdutthesis模板】章节标题有英文解决方案

按下面格式修改代码即可 \section{中文{\rmfamily{English}}中文}{Chinese English Chinese}效果如下&#xff1a;...

【C语言入门】由浅入深学习指针 【第二期】

目录 1. 指针变量为什么要有类型&#xff1f; 2. 野指针 2.1 未初始化导致的野指针 2.2 指针越界导致的野指针 2.3 如何规避野指针 3. 指针运算 3.1 指针加减整数 3.2 指针减指针 3.3 指针的关系运算 4. 二级指针 5. 指针数组 5.1 如何使用指针数组模拟二维数组 上…...

循环神经网络 - 机器学习任务之异步的序列到序列模式

前面我们学习了机器学习任务之同步的序列到序列模式&#xff1a;循环神经网络 - 机器学习任务之同步的序列到序列模式-CSDN博客 本文我们来学习循环神经网络应用中的第三种模式&#xff1a;异步的序列到序列模式&#xff01; 一、基本概述&#xff1a; 异步的序列到序列模式…...

Java 8 到 Java 21 系列之 Optional 类型:优雅地处理空值(Java 8)

Java 8 到 Java 21 系列之 Optional 类型&#xff1a;优雅地处理空值&#xff08;Java 8&#xff09; 系列目录 Java8 到 Java21 系列之 Lambda 表达式&#xff1a;函数式编程的开端&#xff08;Java 8&#xff09;Java 8 到 Java 21 系列之 Stream API&#xff1a;数据处理的…...

.NET 创建MCP使用大模型对话二:调用远程MCP服务

在上一篇文章.NET 创建MCP使用大模型对话-CSDN博客中&#xff0c;我们简述了如何使用mcp client使用StdIo模式调用本地mcp server。本次实例将会展示如何使用mcp client模式调用远程mcp server。 一&#xff1a;创建mcp server 我们创建一个天气服务。 新建WebApi项目&#x…...

podman和与docker的比较 及podman使用

Podman 与 Docker 的比较和区别 架构差异 Docker&#xff1a;采用客户端 - 服务器&#xff08;C/S&#xff09;架构&#xff0c;有一个以 root 权限运行的守护进程 dockerd 来管理容器的生命周期。客户端&#xff08;docker 命令行工具&#xff09;与守护进程进行通信&#x…...

智慧农业总体实施方案

智慧农业概念与背景智慧农业是结合现代信息技术&#xff0c;对农业生产全过程进行智能化管理和服务的新型农业模式。它基于物联网、云计算等技术&#xff0c;实现资源节约、效率提高&#xff0c;解决食品安全和环境污染问题。 农业发展现状与问题当前农业面临资源短缺、食品安…...

基础科学中的人工智能︱如何用机器学习方法求解排列型组合优化问题?

排列&#xff08;permutation&#xff09;作为一个重要的离散数学概念&#xff0c;许多实际问题可以被刻画为n个候选对象的排列。基于给定的目标函数求解最优排列具有丰富的理论和应用价值。特别地&#xff0c;在以排列型问题为代表的组合优化问题中&#xff0c;近年来机器学习…...

脑影像分析软件推荐 | NBS-Predict:基于脑网络的机器学习预测工具包

目录 1.软件界面 2.工具包功能简介 3.软件安装注意事项 1.软件界面 2.工具包功能简介 NBS-Predict&#xff08;Network-based Statistic Predict&#xff09;工具包是一种用于神经影像数据分析的预测性扩展工具&#xff0c;它结合了网络基础统计&#xff08;Network-based S…...

一个alignment trap的解决办法

在移植一份代码时&#xff0c;遇到一个alignment trap的错误&#xff1a; 经过定位&#xff0c;触发alignment trap的汇编语句如下&#xff1a; printk("status %#x\r\n", stData.info->status); 38c0: f8d4 3181 ldr.w r3, [r4, #385] ; 0x181 38…...

AI+自动化测试:如何让测试编写效率提升10倍?

文章目录 摘要传统自动化测试的痛点编写测试用例太费时间测试覆盖率难以保证UI 测试维护成本高 AI 如何优化自动化测试&#xff1f;AI 生成单元测试&#xff1a;减少重复工作&#xff0c;提高覆盖率传统方法 VS AI 方法 使用 AI 生成 Python 单元测试自动补全边界情况传统方法 …...

服务器磁盘io性能监控和优化

服务器磁盘io性能监控和优化 全文-服务器磁盘io性能监控和优化 全文大纲 磁盘IO性能评价指标 IOPS&#xff1a;每秒IO请求次数&#xff0c;包括读和写吞吐量&#xff1a;每秒IO流量&#xff0c;包括读和写 磁盘IO性能监控工具 iostat&#xff1a;监控各磁盘IO性能&#xff0c…...

使用typescript实现游戏中的JPS跳点寻路算法

JPS是一种优化A*算法的路径规划算法&#xff0c;主要用于网格地图&#xff0c;通过跳过不必要的节点来提高搜索效率。它利用路径的对称性&#xff0c;只扩展特定的“跳点”&#xff0c;从而减少计算量。 deepseek生成的总是无法完整运行&#xff0c;因此决定手写一下。 需要注…...

【动态规划】最长上升子序列模板

最长上升子序列 题目传送门 一、题目描述 给定一个长度为 N 的数列&#xff0c;求数值严格单调递增的子序列的长度最长是多少。 输入格式 第一行包含整数 N。 第二行包含 N 个整数&#xff0c;表示完整序列。 输出格式 输出一个整数&#xff0c;表示最大长度。 数据范围 …...

【JavaEE进阶】Spring AOP入门

欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗 如有错误&#xff0c;欢迎指出~ AOP是Spring框架的第⼆⼤核⼼(第⼀⼤核⼼是 IoC) 什么是AOP&#xff1f; • AspectOrientedProgramming&#xff08;⾯向切⾯编程&#xff09; 什么是⾯向切⾯编程呢? 切…...

计算机视觉算法实战——基于YOLOv8的行人流量统计系统

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​​​ ​​​​​​​​​ ​​ 引言:智能客流分析的市场需求 在零售、交通、安防等领域,准确的行人流量统计对于商业决策、公共安全管理…...

Apache Doris 2.1.9 版本正式发布

亲爱的社区小伙伴们&#xff0c;Apache Doris 2.1.9 版本已正式发布。2.1.9 版本对湖仓一体、倒排索引、半结构化数据类型、查询优化器、执行引擎、存储管理进行了若干改进优化。欢迎大家下载使用。 官网下载&#xff1a;https://doris.apache.org/download GitHub 下载&…...

浙江大学郑小林教授解读智能金融与AI的未来|附PPT下载方法

导 读INTRODUCTION 随着人工智能技术的飞速发展&#xff0c;智能金融已成为金融行业的重要变革力量。浙江大学人工智能研究所的郑小林教授在2025年3月24日的《智能金融&#xff1a;AI驱动的金融变革》讲座中&#xff0c;深入探讨了新一代人工智能在金融领域的应用及未来展望。 …...

【蓝桥杯刷题实战】路径之谜

一.题目展示 二、代码解法 三、问题背景和目标 四、代码详细解释 一、题目展示 二、代码解法 #include <stdio.h> #include <stdlib.h>int zhuanyix[4]{1,0,-1,0}; int zhuanyiy[4]{0,1,0,-1}; int d[200]{0}; int j0; int num1;void dfs(int ab[][20],int a[]…...