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

C语言——数据在内存中的存储

目录

前言

一数据类型

类型归类

二整形在内存中的存储

原反补码

大小端

相关练习题

三浮点数在内存中的储存

浮点数储存规则


前言

只有取学习数据在内存中的存储,我们在以后才能定义好(用好)各种类型的数据!

一数据类型

前面我们已经学习了基本的内置类型,和它们所占存储空间的大小。

    char //字符数据类型short //短整型int //整形long //长整型long long //更长的整形float //单精度浮点数double //双精度浮点数

类型的意义:

1. 使用这个类型开辟内存空间的大小(大小决定了使用范围)。
2. 如何看待内存空间的视角

类型归类

整形家族

    char //== (默认是) signed char?这个C语言没规定//为什么char被归为整行家族? 因为字符在内存储存时按照ASCALL码来的!unsigned charsigned charshortunsigned short [int]signed short [int]int //== (默认是) signed intunsigned intsigned intlongunsigned long [int]signed long [int]

浮点数家族 

    floatdouble

构造家族(后面学)

 数组类型结构体类型 struct枚举类型 enum联合类型

指针家族 

    int *pi;char *pc;float* pf;void* pv;

空家族

void 表示空类型(无类型) 通常应用于函数的返回类型、函数的参数、指针类型

二整形在内存中的存储

我们之前讲过一个变量的创建是要在内存中开辟空间的,它的大小是根据不同的类型而决定的

那如何储存?

原反补码

计算机中的整数有三种2进制表示方法:即原码、反码和补码

三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”;

正数的原、反、补码都相同;
负数需要从原码转成补码~

原码
直接将数值按照正负数的形式翻译成二进制就可以得到原码。

反码
将原码的符号位不变,其他位依次按位取反就可以得到反码。

补码
反码+1就得到补码。

对于一个整形来说:数据存放内存中其实存放的是补码

为什么??

原因在于,使用补码,可以将符号位和数值域统一处理;(如1+ (-1) 是就不用担心符号位要不要加的问题:-1转成补码后与1相加结果有33位,第一位(1)符号位丢弃就是答案0
同时,加法和减法也可以统一处理(CPU只有加法器)此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路

但在内存中我们发现:存的顺序有点不对劲,怎么是倒着存的?? 

大小端

什么大端小端?

大端(存储)模式:是指数据的低位,保存在内存的高地址中,而数据的高位,保存在内存的低地址中;(低高高低数据的低位和高位是从bit位从右向左(从低到高)来看的
小端(存储)模式:是指数据的低位,保存在内存的低地址中,而数据的高位,,保存在内存的高地址中。(低低高高)

为什么会有大小端模式之分呢?

这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8 bit。但是在C语言中除了8 bit的char之外,还有16 bit的short型,32 bit的long型(要看具体的编译器),另外,对于位数大于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,那么必然存在着一个如何将多个字节安排的问题:因此就导致了大端存储模式和小端存储模式。在我看来,这就只不过定了一个规矩:下次从内存中拿字节时知道怎么拿出来而已~

设计一个小程序来判断当前机器的字节序

#include<stdio.h>int check_sys(int i)
{char* p = (char*)&i;//(char)i 这时不对的:这只是对值进行转化!return *p;
}int main()
{if (check_sys(1)) printf("小端\n");else printf("大端\n");return 0;
}

相关练习题

#include <stdio.h>
int main()
{char a= -1;signed char b=-1;unsigned char c=-1;printf("a=%d,b=%d,c=%d",a,b,c);return 0;
}

#include <stdio.h>
int main()
{char a = -128;char b = 128;printf("%u\n",a);printf("%u\n",b);return 0;
}

#include<stdio.h>int main()
{int i= -20;unsigned int j = 10;printf("%d\n", i+j);return 0;
}

int main()
{char a[1000];int i;for (i = 0; i < 1000; i++){a[i] = -1 - i;}printf("%d", strlen(a));return 0;
}

三浮点数在内存中的储存

以一段代码来引出接下来的内容:

int main()
{int n = 9;float* pFloat = (float*)&n;printf("n的值为:%d\n", n);printf("*pFloat的值为:%f\n", *pFloat);*pFloat = 9.0;printf("num的值为:%d\n", n);printf("*pFloat的值为:%f\n", *pFloat);return 0;
}

以上运行结果是什么呢??

对结果是不是感到很奇怪:

num 和 *pFloat 在内存中明明是同一个数,为什么浮点数和整数的解读结果会差别这么大?

接下来我们来介绍浮点数的储存规则

浮点数储存规则

根据国际标准IEE(电气和电子工程协会)754:任意一个二进制浮点数V可以表示成下面的形式:

(-1)^S * M * 2^E
(-1)^S 表示符号位,当S=0,V为正数;当S=1,V为负数;
M 表示有效数字:范围大于等于1,小于2;
2^E 表示指数位

例如:

十进制的5.0,写成二进制是 101.0 ,相当于 (-1)^ 0 * 1.01 * 2^2 。那么,按照上面V的格式得出:

S=0,M=1.01,E=2

而这些数跟浮点数储存有什么关系呢?

IEEE 754规定:
对于32位的浮点数,最高的1位是符号位S,接着的8位是指数E,剩下的23位为有效数字M

对于64位的浮点数,最高的1位是符号位S,接着的11位是指数E,剩下的52位为有效数字M

对于有效数字M:
IEEE 754规定,在计算机内部保存M时,默认这个数的第一位总是1,因此可以被舍去,只保存后面的小数点后面的数;等到读取的时候,再把第一位的1加上去;这样做的目的,是节省1位有效数字,在内存中可以多出来1位表达

 对于指数E:

 首先规定了E为一个无符号整数(unsigned int)
 这意味着,如果E为8位,它的取值范围为0~255;如果E为11位,它的取值范围为0~2047。         但是,我们知道,科学计数法中的E是可以出现负数的!                                                               所以在存入内存时E的真实值必须再加上一个中间数进行'矫正';                                                   对于8位的E,这个中间数是127;对于11位的E,这个中间数是1023

那究竟在内存中是不是这样呢?我们用一个例子要演示下: 

而E从内存中取出来时分三种情况:

1 E不全为0或不全为1
这时,浮点数就采用下面的规则表示,即指数E的计算值减去127(或1023),得到真实值,再将
有效数字M前补上第一位的1;

2 E全为0
这时,浮点数的指数E等于 1-127(或者1-1023)即为真实值,
有效数字M不再加上第一位的1,而是还原为0.xxxxxx的小数。这样做是为了表示±0,以及接近于
0的很小的数字;

3 E全为1
这时,如果有效数字M全为0,表示±无穷大(正负取决于符号位s)

有了上面的铺垫,在来解释开头的代码,此时应该就能理解啦

以上便是全部内容,有错误欢迎再评论区指出,感谢观看~

相关文章:

C语言——数据在内存中的存储

目录 前言 一数据类型 类型归类 二整形在内存中的存储 原反补码 大小端 相关练习题 三浮点数在内存中的储存 浮点数储存规则 前言 只有取学习数据在内存中的存储&#xff0c;我们在以后才能定义好&#xff08;用好&#xff09;各种类型的数据&#xff01; 一数据类型…...

后端-redis

Redis RedisString类型String类型的常用命令 Hash类型Hash类型的常用命令 List类型List类型的常用命令 Set类型Set类型的常用命令 SortedSet类型SortedSet类型的常用命令 Redis序列化缓存更新策略缓存穿透缓存雪崩缓存击穿 Redis Redis是一个key-value的数据库&#xff0c;key…...

sqoop,flume草稿

连xftp传sqoop压缩包到/opt/soft 目录下 cd opt/soft/ tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoop cd sqoop/conf/ cp sqoop-env-template.sh sqoop-env.sh vi sqoop-env-sh export HADOOP_COMMON_HOME/opt/soft/hadoop expo…...

UE5 渲染管线 学习笔记

兰伯特 SSS为散射的意思 带Bias的可以根据距离自动切换mip的卷积值 而带Level的值mipmaps的定值 #define A8_SAMPLE_MASK .a 这样应该就很好理解了 这个只采样a通道 带Level的参考上面的 朝左上和右下进行模糊 带Bias参考上面 随机数 4D 3D 2D 1D HLSL内置UV HLSL内置鼠标坐…...

线程池使用不当导致线程死锁

线程池使用不当导致线程死锁 问题代码问题分析 问题代码 在项目开发中&#xff0c;为了支持并发场景&#xff0c;减少资源开销&#xff0c;通常会使用公共线程池&#xff0c;即预先创建一个线程池&#xff0c;需要并发时都将任务提交该线程池中。类似如下代码 public class T…...

SpringBoot状态机

Spring Boot 状态机&#xff08;State Machine&#xff09;是 Spring Framework 提供的一种用于实现复杂业务逻辑的状态管理工具。它基于有限状态机&#xff08;Finite State Machine, FSM&#xff09;的概念&#xff0c;允许开发者定义一组状态、事件以及它们之间的转换规则。…...

细说STM32F407单片机轮询方式读写SPI FLASH W25Q16BV

目录 一、工程配置 1、时钟、DEBUG 2、GPIO 3、SPI2 4、USART6 5、NVIC 二、软件设计 1、FALSH &#xff08;1&#xff09;w25flash.h &#xff08;2&#xff09; w25flash.c 1&#xff09;W25Q16基本操作指令 2&#xff09;计算地址的辅助功能函数 3&#xff09;器…...

HTMLCSS:惊!3D 折叠按钮

这段代码创建了一个具有 3D 效果和动画的按钮&#xff0c;按钮上有 SVG 图标和文本。按钮在鼠标悬停时会显示一个漂浮点动画&#xff0c;图标会消失并显示一个线条动画。这种效果适用于吸引用户注意并提供视觉反馈。按钮的折叠效果和背景渐变增加了页面的美观性。 演示效果 HT…...

如何更好的进行时间管理

先想一下我们想要做的事情&#xff0c;然后拿出Excel表格将这些事情记录下来&#xff0c;我们把它叫做任务对这些任务按照重要性&#xff0c;紧急程度进行排序&#xff0c;拿出表格中的前六个任务&#xff0c;就是今天要做的任务新建另一张excel表格&#xff0c;表格的一列为时…...

我在华为的安全日常

在华为工作了数年后&#xff0c;我养成了一个习惯&#xff1a;每次离开座位&#xff0c;即便是去卫生间&#xff0c;我也会条件反射地锁屏电脑。晚上回到家&#xff0c;躺在床上&#xff0c;脑海中偶尔会闪过一丝疑虑&#xff1a;办公室的门窗是否关好&#xff1f;虽然这种担忧…...

for媒体打破智能座舱体验同质化,斑马智行荣获“华舆奖”优秀创

打破智能座舱体验同质化&#xff0c;斑马智行荣获“华舆奖”优秀创新生态伙伴 12月12日&#xff0c;消费者洞察与市场研究机构J.D. Power|君迪与同济大学 HVR Lab&#xff08;人车关系实验室&#xff09;共同发布了 2024 中国智能座舱的研究洞察&#xff0c;并公布了华舆奖中国…...

自己搭建专属AI:Llama大模型私有化部署

前言 AI新时代&#xff0c;提高了生产力且能帮助用户快速解答问题&#xff0c;现在用的比较多的是Openai、Claude&#xff0c;为了保证个人隐私数据&#xff0c;所以尝试本地&#xff08;Mac M3&#xff09;搭建Llama模型进行沟通。 Gpt4all 安装比较简单&#xff0c;根据 G…...

芯片Tapeout power signoff 之IR Drop Redhawk Ploc文件格式及其意义

数字IC后端工程师在芯片流程最后阶段都会使用redhawk或voltus进行设计的IR Drop功耗signoff分析。必须确保静态&#xff0c;动态ir drop都符合signoff标准。 在做redhawk ir drop分析前&#xff0c;我们需要提供一个redhawk ploc供电点坐标。 数字IC设计后端实现前期预防IR D…...

[机器学习]sklearn入门指南(1)

简介 scikit-learn&#xff08;简称sklearn&#xff09;是一个开源的Python机器学习库&#xff0c;它提供了简单而高效的工具用于数据挖掘和数据分析&#xff0c;并且拥有一个活跃的开发社区。它建立在NumPy、SciPy和matplotlib这些科学计算库之上&#xff0c;旨在提供一致且可…...

GitCode 光引计划投稿 | GoIoT:开源分布式物联网开发平台

GoIoT 是基于Gin 的开源分布式物联网&#xff08;IoT&#xff09;开发平台&#xff0c;用于快速开发&#xff0c;部署物联设备接入项目&#xff0c;是一套涵盖数据生产、数据使用和数据展示的解决方案。 GoIoT 开发平台&#xff0c;它是一个企业级物联网平台解决方案&#xff…...

【R语言遥感技术】“R+遥感”的水环境综合评价方法

R语言在遥感领域中是一个强大的工具&#xff0c;它提供了一系列的功能和优势&#xff0c;使得遥感数据的分析和应用更加高效和灵活。以下是R语言在遥感中的具体应用&#xff1a; 数据处理&#xff1a;R语言可以处理和清洗遥感数据&#xff0c;包括数据转换、滤波处理、去噪和数…...

QT--信号与槽机制

什么是信号与槽&#xff1f; 在 Qt 中&#xff0c;信号与槽是一种用于对象间通信的机制。它使得一个对象可以通知其他对象某个事件的发生&#xff0c;而不需要直接知道这些对象的具体实现。这种机制非常适合事件驱动的编程模型&#xff0c;如用户界面交互。 1. 信号&#xff…...

Windbg常用命令

禁止垃圾信息 ed nt!Kd_STORMINIPORT_Mask 0 ed nt!Kd_SXS_Mask 0 ed nt!Kd_FUSION_Mask 0 命令大全: 命令 - Windows drivers | Microsoft Learn .reload /f 重新加载符号表 常用命令 继续执行: g单步过/步入: p, t退出: q查看调用堆栈: k, kb列出模块: lm, lml设置断…...

YOLO11改进-模块-引入多分支卷积InceptionDepthwiseConvolution(IDC) 解决多尺度、小目标

YOLOv11 的设计目标是通过高效的网络结构&#xff0c;在保证准确率的前提下&#xff0c;最大化推理速度。传统卷积操作虽然能够捕获局部信息&#xff0c;但在处理大规模场景或复杂背景时&#xff0c;较小的感受野可能导致细节信息不足&#xff0c;影响模型的检测能力。为了解决…...

国标GB28181-2022平台EasyGBS:安防监控中P2P的穿透方法

在安防监控领域&#xff0c;P2P技术因其去中心化的特性而受到关注&#xff0c;尤其是在远程视频监控和数据传输方面。P2P技术允许设备之间直接通信&#xff0c;无需通过中央服务器&#xff0c;这在提高效率和降低成本方面具有明显优势。然而&#xff0c;P2P技术在实际应用中也面…...

C++软件设计模式之外观(Facade)模式

C软件设计模式中的外观&#xff08;Facade&#xff09;模式 1. 外观模式的定义 外观模式&#xff08;Facade Pattern&#xff09;是一种结构型设计模式&#xff0c;它为一个复杂的子系统提供一个简化的接口。外观模式通过一个统一的接口来访问子系统的多个组成部分&#xff0…...

Spring Boot 项目创建

创建一个新项目&#xff1a; 打开 Spring Initializr 网址&#xff1a;https://start.spring.io/ &#xff0c;然后创建一个新项目&#xff1a; springboot3.3.5_jdk17&#xff1a; Project&#xff08;Maven&#xff09;编程语言&#xff08;Java 17&#xff09;Spring Boo…...

SharpDX 从入门到精通:全面学习指南

摘要&#xff1a; 本文旨在为想要深入学习 SharpDX 的开发者提供一份全面的指南。从 SharpDX 的基础概念入手&#xff0c;逐步深入探讨其在不同场景下的应用&#xff0c;包括图形渲染、音频处理等&#xff0c;并结合大量详细的代码案例帮助读者更好地理解和掌握 SharpDX 的使用…...

【Web】2024“国城杯”网络安全挑战大赛决赛题解(全)

最近在忙联通的安全准入测试&#xff0c;很少有时间看CTF了&#xff0c;今晚抽点时间回顾下上周线下的题(期末还没开始复习&#x1f622;) 感觉做渗透测试一半的时间在和甲方掰扯&水垃圾洞&#xff0c;没啥惊喜感&#xff0c;还是CTF有意思 目录 Mountain ez_zhuawa 图…...

操作系统(24)提高磁盘I/O速度的途径

前言 操作系统提高磁盘I/O速度的途径多种多样&#xff0c;这些途径旨在减少磁盘访问的延迟和开销&#xff0c;提高数据传输的效率。 一、磁盘高速缓存&#xff08;Disk Cache&#xff09; 磁盘高速缓存是一种在内存中为磁盘数据设置的缓冲区&#xff0c;用于存储磁盘中某些盘块…...

en3d 部署笔记

目录 依赖项: Nvdiffrast 编译代码和frpc_linux_amd64 下载地址: tiny-cuda-nn 安装 ICON算法库依赖 icon依赖 kaolin infer_normal_fixpose 解决 报错了,推荐的安装方法: kaolin测试: ICON依赖项 requirements.txt 改进 voxelize_cuda 安装ok 运行后: 修改代…...

c++类型判断和获取原始类型

std::traits学习 类型判断和退化&#xff08;获取原始类型&#xff09;的原理就是利用模板的特例化。根据调用模板的特例化&#xff0c;在特例化模板中实现判断的逻辑或者退化的逻辑。 一、类型判断 判断整型数据的模板类 #include <iostream> namespace zk {templa…...

医疗行业 UI 设计系列合集(一):精准定位

在当今数字化时代&#xff0c;医疗行业与信息技术的融合日益紧密&#xff0c;UI 设计在其中扮演着至关重要的角色。精准定位的 UI 设计能够显著提升医疗产品与服务的用户体验&#xff0c;进而对医疗效果和患者满意度产生积极影响。 一、医疗行业 UI 设计的重要性概述 医疗行业…...

EasyExcel停更,FastExcel接力

11月6日消息&#xff0c;阿里巴巴旗下的Java Excel工具库EasyExcel近日宣布&#xff0c;将停止更新&#xff0c;未来将逐步进入维护模式&#xff0c;将继续修复Bug&#xff0c;但不再主动新增功能。 EasyExcel以其快速、简洁和解决大文件内存溢出的能力而著称&#xff0c;官方…...

java agent的使用【通俗易懂版】

一、静态代理Agent 1&#xff0e;生成Agent的jar包 &#xff08;1&#xff09;创建Agent项目&#xff0c;引入javassist.jar包 &#xff08;2&#xff09;编写premain方法 import java.lang.instrument.Instrumentation;public class Agent1 {public static void premain(Stri…...

010 Qt_输入类控件(LineEdit、TextEdit、ComboBox、SpinBox、DateTimeEdit、Dial、Slider)

文章目录 前言一、QLineEdit1.简介2.常见属性及说明3.重要信号及说明4.示例一&#xff1a;用户登录界面5.示例二&#xff1a;验证两次输入的密码是否一致显示密码 二、TextEdit1.简介2.常见属性及说明3.重要信号及说明4.示例一&#xff1a;获取多行输入框的内容5.示例二&#x…...

C++设计模式:享元模式 (附文字处理系统中的字符对象案例)

什么是享元模式&#xff1f; 享元模式是一个非常实用的结构型设计模式&#xff0c;它的主要目的是节省内存&#xff0c;尤其在需要创建大量相似对象时。 通俗解释&#xff1a; 想象我们在写一本书&#xff0c;每个字母都需要表示出来。如果每个字母都单独用对象表示&#xff…...

机器学习之 KNN 算法

一、引言 在机器学习领域中&#xff0c;K 近邻&#xff08;K-Nearest Neighbors&#xff0c;KNN&#xff09;算法是一种简单而有效的分类和回归算法。它的基本思想是根据数据点之间的距离来确定它们的相似性&#xff0c;并根据其最近的邻居的类别或数值来预测新数据点的类别或…...

矩阵:Input-Output Interpretation of Matrices (中英双语)

矩阵的输入-输出解释&#xff1a;深入理解与应用 在线性代数中&#xff0c;矩阵与向量的乘积 ( y A x y Ax yAx ) 是一个极为重要的关系。通过这一公式&#xff0c;我们可以将矩阵 ( A A A ) 看作一个将输入向量 ( x x x ) 映射到输出向量 ( y y y ) 的线性变换。在这种…...

ctfhub技能树——disable_functions

LD_PRELOAD 来到首页发现有一句话直接就可以用蚁剑连接 根目录里有/flag但是不能看;命令也被ban了就需要绕过了 绕过工具在插件市场就可以下载 如果进不去的话 项目地址: #本地仓库;插件存放 antSword\antData\plugins 绕过选择 上传后我们点进去可以看到多了一个绕过的文件;…...

Web3.0安全开发实践:探索比特币DeFi生态中的PSBT

近年来&#xff0c;部分签名比特币交易&#xff08;PSBT&#xff09;在比特币生态系统中获得了显著关注。随着如Ordinal和基于铭文的资产等创新的兴起&#xff0c;安全的多方签名和复杂交易的需求不断增加&#xff0c;这使得PSBT成为应对比特币生态不断发展中不可或缺的工具。 …...

【Yonghong 企业日常问题 06】上传的文件不在白名单,修改allow.jar.digest属性添加允许上传的文件SH256值?

文章目录 前言问题描述问题分析问题解决1.允许所有用户上传驱动文件2.如果是想只上传白名单的驱动 前言 该方法适合永洪BI系列产品&#xff0c;包括不限于vividime desktop&#xff0c;vividime z-suit&#xff0c;vividime x-suit产品。 问题描述 当我们连接数据源的时候&a…...

Lecture 6 Isolation System Call Entry

文章目录 一 重要的函数清单1 write(user/usys.s) 一 usertrap函数(C code) Lecture6 Isolation & System Call Entry视频链接 对应XV6 Book Chapter 4 Traps and device drivers 一 重要的函数清单 1 write(user/usys.s) .global write write:li a7, SYS_writeecallret…...

重温设计模式----装饰模式

文章目录 装饰模式定义UML 图其主要优点包括&#xff1a;装饰模式的主要角色有&#xff1a;C 代码示例总结 装饰模式定义 动态的给一个对象添加一些额外的职责&#xff0c;就增加功能来说&#xff0c;装饰模式必生成子类更加灵活 装饰模式&#xff08;Decorator Pattern&…...

图像处理-Ch2-空间域的图像增强

Ch2 空间域的图像增强 文章目录 Ch2 空间域的图像增强Background灰度变换函数(Gray-level Transformation)对数变换(Logarithmic)幂律变换(Power-Law)分段线性变换函数(Piecewise-Linear)对比度拉伸(Contrast-Stretching)灰度级分层(Gray-level Slicing) 直方图处理(Histogram …...

uniapp Native.js原生arr插件服务发送广播到uniapp页面中

前言 最近搞了个设备&#xff0c;需求是读取m1卡&#xff0c;厂家给了个安卓原生demo&#xff0c;接入arr插件如下&#xff0c;接入后发现还是少了一部分代码&#xff0c;设备服务调起后触发刷卡无法发送到uniapp里。 中间是一些踩坑记录&#xff0c;最后面是解决办法&#xf…...

重温设计模式--1、组合模式

文章目录 1 、组合模式&#xff08;Composite Pattern&#xff09;概述2. 组合模式的结构3. C 代码示例4. C示例代码25 .应用场景 1 、组合模式&#xff08;Composite Pattern&#xff09;概述 定义&#xff1a;组合模式是一种结构型设计模式&#xff0c;它允许你将对象组合成…...

关于鸿蒙架构feature

鸿蒙feature层模块架构 model&#xff1a;定义数据类型&#xff0c;进行接口请求 view&#xff1a;视图层 写UI viewModel&#xff1a;控制层 关于逻辑和请求调用 page页...

CentOS下,离线安装vscode的步骤;

前置条件&#xff1a; 1.CentOS7; 步骤&#xff1a; 1.下载vscode指定版本&#xff0c;例如&#xff1b; 例如 code-1.83.1-1696982959.el7.x86_64.rpm 2.使用下面命令&#xff1a; sudo rpm -ivh code-1.83.1-1696982959.el7.x86_64.rpm 其他&#xff1a; 卸载vscode的命…...

.NET周刊【12月第3期 2024-12-15】

国内文章 重磅推出 Sdcb Chats&#xff1a;一个全新的开源大语言模型前端 https://www.cnblogs.com/sdcb/p/18597030/sdcb-chats-intro Sdcb Chats是一个新推出的开源大语言模型前端&#xff0c;旨在提升用户交互体验&#xff0c;并填补市场上基于.NET的前端空白。它引入树状…...

操作系统(23)外存的存储空间的管理

一、外存的基本概念与特点 定义&#xff1a;外存&#xff0c;也称为辅助存储器&#xff0c;是计算机系统中用于长期存储数据的设备&#xff0c;如硬盘、光盘、U盘等。与内存相比&#xff0c;外存的存储容量大、成本低&#xff0c;但访问速度相对较慢。特点&#xff1a;外存能够…...

vue3中多层级路由缓存失效问题

问题现象&#xff1a; 在项目中路由嵌套了超过两层后&#xff0c;使用keep-alive对路由进行页面的缓存&#xff0c;发现并不能生效。 使用的路由结构&#xff1a; // 一级路由path: menu1,component: () > import(/views/demos/nested/menu1/index), // Parent router-vie…...

Kerberoasting 离线爆破攻击

当域用户请求某个域内服务后&#xff0c;kdc 通常会返回一个加密的 st 服务票据&#xff0c;此 st 服务票据被服务 hash 加密&#xff0c;当我们将使用密码字典派生的多个 hash 值来尝试解密 st 服务票据&#xff0c;如果能够揭秘成功&#xff0c;则说明字典中存在目标服务账号…...

无人机双目视觉鲁棒定位方法!

无人机双目视觉鲁棒定位方法是一种先进的定位技术&#xff0c;它利用两个摄像头&#xff08;即双目相机&#xff09;模拟人的视觉系统&#xff0c;通过视差来确定物体的位置。这种方法在无人机定位领域具有广泛的应用前景&#xff0c;特别是在GPS信号拒止或弱纹理环境中&#x…...

vulnhub靶场——Log4j2

第一步:搭建靶场环境 #开启环境 cd vulhub/log4j/CVE-2021-44228 docker-compose up -d 来到网站首页 第二步:搭建一个dnslog平台上获取我们注入的效果 第三步:发现 /solr/admin/cores?action 这里有个参数可以传 我们可以看到留下了访问记录并且前面的参数被执行后给我们回…...