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

Java的进制转换

进制知识

Java 中使用不同的前缀表示数据,常见的进制数据有二进制(0b)、八进制(0)、十进制(无)、十六进制(0x)。

public class Demo1 {public static void main(String[] args) {int n1 = 0b1010; // 二进制int n2 = 01010; // 八进制int n3 = 1010; // 十进制int n4 = 0x1010; // 十六进制//-------------------------- 以下输出的是10进制,具体转化规则后面说明System.out.println(n1); // 10System.out.println(n2); // 520System.out.println(n3); // 1010System.out.println(n4); // 4112}
}

一、其他进制转十进制

  1. 二进制 转 十进制:从最低位(右边)开始,将每个位上的数提取出来,乘以 2 的(位数 - 1)次方,然后求和。

    案例:请将 0b1011 转化为十进制
    计算:0b1011 = 1 * 2 ^ 0 + 1 * 2 ^ 1 + 0 * 2 ^ 2 + 1 * 2 ^ 3 = 1 + 2 + 0 + 8 = 11
    
  2. 八进制 转 十进制: 从最低位(右边)开始,将每个位上的数提取出来,乘以 8 的(位数 - 1)次方,然后求和。

    案例:请将 0234 转化为十进制
    计算:0234 = 4 * 8 ^ 0 + 3 * 8 ^ 1 + 2 * 8 ^ 2 + 0 * 8 ^ 3  = 4 + 24 + 128 = 156
    
  3. 十六进制 转 十进制:从最低位(右边)开始,将每个位上的数提取出来,乘以 16 的(位数 - 1)次方,然后求和。

    案例:请将 0x23A =  转化为十进制,A = 10、B = 11、.... 、G = 16
    计算:0x23A = 10 * 16 ^ 0 + 3 * 16 ^ 1 + 2 * 16 ^ 2 = 10 + 48 + 512 = 570 
    

二、十进制转其他进制

  1. 十进制 转 二进制:将该数不断除以 2,直到商为 0 为止,然后将每步得到的余数排列好后倒置(补全四位一组)就是对应的二进制结果。

    案例:请将 34 转化为二进制 => 0b 0010 0010
    计算:34/2 = 17 ... 0,17/2 = 8 ... 1,8/2 = 4 ... 0,4/2 = 2 ... 0, 2/2 = 1 ... 0,1/2 = 0 ... 1;得到 01 0001 => 10 0010(倒置)=> 0B 0010 0010(补全四位一组)
    
  2. 十进制 转 八进制:将该数不断除以 8,直到商为 0 为止,然后将每步得到的余数排列好后倒置就是对应的八进制。

    案例:请将 131 转化为八进制 => 0203 
    计算:131/8 = 16 ... 3,16/8 = 2 ... 0,2/8 = 0 ... 2,得到 302 => 203(倒置) => 0 203
    
  3. 十进制 转 十六进制:将该数不断除以16,直到商为0为止,然后将每步得到的余数到过来,就是对应的十六进制。

    案例:请将 237 转化为十六进制 => 0xED
    计算:237/16 = 14 ... 13,14/16 = 0 ... 14,得到 1314 => DE(转化) => ED(倒置) => 0x ED
    

三、混合进制转换

  1. 二进制 转 八进制:从低位开始(右),将二进制数划分为每三位一组,再将每组转化为对应的十进制数,然后按顺序排列后倒置过来就是需要转化的八进制数。

    案例:请将 0b 11010101 转化为八进制
    计算:101 => 5,010 => 2,011(左补0) => 3,得到523 => 325(倒置) => 0 325 
    
  2. 二进制 转 十六进制:从低位开始(右),将二进制数划分为每四位一组,再将每组转化为对应的十进制数,然后按顺序排列后倒置过来就是需要转化的十六进制数。

    案例:请将 0b 11010101 转化为八进制
    计算:0101 => 5,1101 => 13,得到5 13 => 5D => D5(倒置) => 0x D5 
    
  3. 八进制 转 二进制:将八进制数的每 1 位,转化为对应的一个 3 位的二进制数即可。

    案例:请将 0 237 转化为二进制
    计算:2 => 010,3 => 011,7 => 111,得到 010 011 111 => 010011111 => 0b 010011111
    
  4. 十六进制 转 二进制:将八进制数的每 1 位,转化为对应的一个 4 位的二进制数即可。

    案例:请将 0x 23B 转化为二进制
    计算:2 => 0010(左补0), 3 => 0011(左补0), B => 1011,得到 0010 0011 1011 => ob 0010 0011 1011
    
  5. 十六进制 转 八进制 或 八进制 转 十六进制 *:将十六进制数转换为八进制数是不太直接的,因为十六进制和八进制之间没有直接的一一对应关系,而且它们的位数也不一致。十六进制和八进制虽然都是一种进制表示法,但它们的基数(每位的权值)不同。十六进制的基数是 16,八进制的基数是 8。因此,如果要将十六进制数直接转换为八进制数,需要经过十进制的中间转换。

    假设要将十六进制数 2A 转换为八进制数:
    1. 将十六进制数 2A 转换为十进制数:(2 * 16^1) + (10 * 16^0) = 42
    2. 将十进制数 42 转换为八进制数:(42) / 8 = 5 ... 2,余数为 6, 继续除以 6 / 8,得到 6,余数为 0, 因此,十六进制数 2A 转换为八进制数为 26 => 倒过来 => 62。
    

四、原码、反码、补码

原码:将一个整数转换成二进制形式,就是其原码。例如 short a = 6,a 的原码就是 0000 0000 0000 0110;更改 a 的值 a = -18,那 a 的原码就是 1000 0000 0001 0010。通俗的理解,原码就是一个整数本来的二进制形式。此外,二进制最高位是符号位,0 表示正数,1 表示负数

  • 6 => 0000 0000 0000 0110 => 0(符号位) 000 0000 0000 0110
  • -18 => 1000 0000 0001 0010 => 1(符号位) 000 0000 0001 0010

反码:对于正数,它的反码就是其原码(原码和反码相同),负数的反码是将原码中除符号位以外的所有位(数值位)取反,也就是0变成 1,1 变成 0。例如 short a = 6,a 的原码和反码都是 0000 0000 0000 0110;更改 a 的值 a = -18,a的反码是 1111 1111 1110 1101。

  • 6 => 0000 0000 0000 0110 => 0(符号位)000 0000 0000 0110
  • -18 => 1000 0000 0001 0010 = 1(符号位)111 1111 1110 1101。

补码:对于正数,它的补码就是其原码(原码、反码、补码都相同),负数的补码是其反码加 1。例如 short a = 6,a 的原码、反码、补码都是 0000 0000 0000 0110;更改 a 的值 a = -18,a 的补码是 1111 1111 1110 1110。可以认为,补码是在反码的基础上打了一个补丁,进行了一下修正,所以叫“补码”。

  • 6 => 0000 0000 0000 0110 => 0(符号位)000 0000 0000 0110
  • -18 => 1000 0000 0001 0010 => 1(符号位)111 1111 1110 1101 => 1(符号位)111 1111 1110 1110

注意,原码、反码、补码的概念只对负数有实际意义,对于正数,原码、反码、补码都是一样。

在线转化工具:https://www.lddgo.net/convert/number-binary-code

FAQ:为啥十进制转化二进制一般补全 16 / 8 位?

在计算机科学中,十进制数转换为二进制数时,可能会补全位数,常见的有补全为 8 位、16 位或更多位。这样做的目的是为了在固定位数下表示和存储数字,保证数据的一致性和可比较性。以下是一些原因:

  1. 固定数据长度: 在计算机系统中,存储器单元的长度是固定的,通常以字节(byte)为单位。通过使用固定位数来表示数字,可以确保数据在存储和传输过程中不会发生变化。
  2. 对齐和效率: 许多计算机体系结构在内存中访问数据时需要对齐。通过将数字转换为固定位数的二进制表示,可以提高内存访问的效率。此外,固定长度的数据在处理和传输时通常更高效。
  3. 数据比较: 在某些情况下,需要对数字进行比较。使用固定位数的表示可以确保比较的准确性,而不会受到位数不同的影响。
  4. 数据存储和传输: 在通信和存储中,使用固定位数的数据表示可以减少数据传输的大小,节省带宽和存储空间。
  5. 编程的一致性: 使用固定位数的数据表示可以使编程更一致和可预测。例如,如果操作系统或硬件要求固定长度的数据,那么程序员可以始终使用相同的位数进行编程,而不必考虑不同长度数据可能引起的问题。

补全 16 位或其他位数的做法,实际上是为了满足特定需求并保持数据的一致性和可预测性。在不同的上下文中,可能会选择不同的位数来表示数字,具体取决于所涉及的应用和系统。


The end.

相关文章:

Java的进制转换

进制知识 Java 中使用不同的前缀表示数据,常见的进制数据有二进制(0b)、八进制(0)、十进制(无)、十六进制(0x)。 public class Demo1 {public static void main(String…...

SpringBoot中的拦截器

SpringBoot中的拦截器 Filter 典型场景 全局鉴权/接口耗时统计 WebFilter("/*") public class CostFilter implements Filter {Overridepublic void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) {long start System.currentTimeMill…...

使用聊天模型和提示模板构建一个简单的 LLM 应用程序

官方教程 官方案例 在上面的链接注册后,请确保设置您的环境变量以开始记录追踪 export LANGSMITH_TRACING"true" export LANGSMITH_API_KEY"..."或者,如果在笔记本中,您可以使用以下命令设置它们 import getpass imp…...

paimon中批和流查看过去的快照的数据及变动的数据

1、批处理 创建表并插入三条数据 CREATE TABLE ws_t (id INT,ts BIGINT,vc INT,PRIMARY KEY (id) NOT ENFORCED ); INSERT INTO ws_t VALUES(2,2,2),(3,3,3),(4,4,4),(5,5,5); --设置执行模式为批处理 RESET execution.checkpointing.interval; SET execution.runtime-mode …...

Linux513 rsync本地传输 跨设备传输 一

ping节点bPing通 仅主机模式不需要设置网关节点a也可以Ping通节点b 同步成功 下载文件夹成功 今日源码 节点a 节点b...

c语言第一个小游戏:贪吃蛇小游戏08(贪吃蛇完结)

贪吃蛇撞墙和想不开咬死自己 #include <curses.h> #include <stdlib.h> struct snake{ int hang; int lie; struct snake *next; }; struct snake food; struct snake *head; struct snake *tail; int key; int dir; #define UP 1 #define DOWN -1 …...

Android Native 之 自定义进程

在Android五层架构中&#xff0c;native层基本上全是c的世界&#xff0c;这些c进程基本上靠android世界的第一个进程init进程创建&#xff0c;init通过rc配置文件&#xff0c;创建了众多的c子进程&#xff0c;也是这众多的c进程&#xff0c;构建了整个android世界的native层。 …...

深度学习 自然语言处理(RNN) day_02

1. 感知机与神经网络 1.1 感知机 生物神经元&#xff1a; 1.1.1 感知机的概念 感知机&#xff08;Perceptron&#xff09;&#xff0c;又称神经元&#xff08;Neuron&#xff0c;对生物神经元进行了模仿&#xff09;是神 经网络&#xff08;深度学习&#xff09;的起源算法&am…...

Kotlin 中的作用域函数

在 Kotlin 中&#xff0c;作用域函数是一组用于在对象上下文中执行代码块的函数。 它们通过简洁的语法实现对对象的操作和逻辑封装。 作用域函数的对比&#xff1a; 1 let 特点&#xff1a; 通过 it 访问对象&#xff0c;需显式使用&#xff1b;返回值是代码块的最后一行结果…...

Linux的SLES系统和其他几大系统之间的区别

✅ SLES 和其他主流 Linux 发行版对比表 特性/发行版SLES (SUSE Linux Enterprise Server)RHEL (Red Hat Enterprise Linux)CentOS / AlmaLinux / RockyUbuntu ServerDebian定位企业级&#xff0c;注重稳定性和支持企业级&#xff0c;行业标准&#xff0c;广泛应用社区版 RHEL…...

上位机学习攻略、步骤和实战路径

目录 &#x1f3af; 一、什么是上位机&#xff1f; &#x1f9ed; 二、学习步骤和路径 第一步&#xff1a;了解基础概念 第二步&#xff1a;掌握通信协议 1. 常见协议&#xff1a; 2. 学习目标&#xff1a; 第三步&#xff1a;熟悉主流上位机软件 可选工具及语言&#…...

【爬虫】DrissionPage-1

官网地址&#xff1a;DrissionPage官网 小需求采集&#xff0c;我喜欢&#xff0c;我要学。 1 介绍 这是用python编写的爬虫自动化工具&#xff0c;将Selenium 和 Requests 的功能巧妙地整合在一起&#xff0c;提供了统一又简单的操作接口。开发者可以在浏览器模式&#xff0…...

API安全

目录 API安全&#xff1a;从威胁到防护的全面解析 引言 一、API安全的定义与重要性 1.1 API安全的核心目标 1.2 API安全的挑战 二、API的常见安全威胁 2.1 身份验证攻击 2.2 中间人攻击&#xff08;MITM&#xff09; 2.3 注入攻击 2.4 安全配置错误 2.5 拒绝服务&…...

UDP和TCP协议

目录 1. UDP协议 1.1. UDP的特性 1.2. UDP的包头 1.3. UDP的三大使用场景和实际例子 1.4. TCP和UDP的区别 2. TCP协议 2.1. TCP包头格式 2.2. TCP包头和UDP包头对比 2.3. TCP协议的特点 2.4. TCP的三次握手&#xff08;连接维护问题&#xff09; 2.5. TCP的四次挥手…...

关于Go语言的开发环境的搭建

1.Go开发环境的搭建 其实对于GO语言的这个开发环境的搭建的过程&#xff0c;类似于java的开发环境搭建&#xff0c;我们都是需要去安装这个开发工具包的&#xff0c;也就是俗称的这个SDK&#xff0c;他是对于我们的程序进行编译的&#xff0c;不然我们写的这个代码也是跑不起来…...

【Bootstrap V4系列】学习入门教程之 组件-导航(Navs)

【Bootstrap V4系列】学习入门教程之 组件-导航&#xff08;Navs&#xff09; 导航&#xff08;Navs&#xff09;一、Base nav二、Available styles 可用样式2.1 Horizontal alignment 水平对齐2.2 Vertical 垂直的2.3 Tabs 表格样式2.4 Pills 胶囊样式2.5 Fill and justify 填…...

基于单片机的视力保护仪设计与实现

标题:基于单片机的视力保护仪设计与实现 内容:1.摘要 随着电子设备的普及&#xff0c;人们的视力健康面临着严峻挑战。为了有效预防近视等视力问题&#xff0c;本文旨在设计并实现一款基于单片机的视力保护仪。通过采用红外传感器、光敏传感器等元件&#xff0c;实时监测使用者…...

如何避免和恢复因终端关闭导致的 LoRA 微调中断

环境&#xff1a; Ubuntu20.04 Llama factory Qwen2.5-7B-Instruct llama.cpp H20 95G 问题描述&#xff1a; 使用命令 CUDA_VISIBLE_DEVICES1 FORCE_TORCHRUN1 llamafactory-cli train examples/train_lora/qwen2_5-7b_lora_sft.yaml 进行 LoRA 微调时&#xff0c;如果…...

RT-linux 系统详解

RT-Linux&#xff08;Real-Time Linux&#xff09;是一种基于Linux内核的实时操作系统&#xff08;RTOS&#xff09;&#xff0c;旨在为Linux添加硬实时&#xff08;Hard Real-Time&#xff09;能力&#xff0c;使其适用于对时间确定性要求极高的嵌入式系统和工业控制场景。以下…...

开源网络地图可视化第六章学习指南

源代码地址&#xff1a;开源网络地图可视化-配套代码.zip - 蓝奏云 配套书籍&#xff1a;开源网络地图可视化——基于Leaflet的在线地图开发 (杨乃) (Z-Library)(1).pdf - 蓝奏云 3 第六章Leaflet地图动画 3.1 图标动画 3.1.1 沿线运动 沿线运动的动画使用了Leaflet.Geode…...

网页常见水印实现方式

文章目录 1 明水印技术实现1.1 DOM覆盖方案1.2 Canvas动态渲染1.3 CSS伪元素方案2 暗水印技术解析2.1 空域LSB算法2.2 频域傅里叶变换3 防篡改机制设计3.1 MutationObserver防护3.2 Canvas指纹追踪4 前后端实现对比5 攻防博弈深度分析5.1 常见破解手段5.2 进阶防御策略6 选型近…...

# 08_Elastic Stack 从入门到实践(八)---1

08_Elastic Stack 从入门到实践(八)—1 一、Logstash入门之简介以及部署安装 1、Elastic Stack 技术栈示意图 2、Logstash 简介 Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。(存储库当然是Ela…...

携程酒店 phantom-token token1004 分析

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 部分python代码 搞APP搞的心态有点崩…...

物理:从人体组成角度能否说明基本粒子的差异性以及组织结构的可预设性?

人类的个体差异源于粒子组合的复杂性、环境与随机性的相互作用,而非基本粒子本身的差异性。以下分层次解析: 一、基本粒子的同质性与组合多样性 1. 基本粒子的同一性 标准模型确认:同种类基本粒子(如电子、上夸克)具有完全相同的质量、电荷等属性,不存在个体差异。泡利不…...

前端面试每日三题 - Day 33

这是我为准备前端/全栈开发工程师面试整理的第33天每日三题练习&#xff1a; ✅ 题目1&#xff1a;Deno核心特性深度解析 革命性特性详解 // 安全权限控制&#xff08;运行时显式授权&#xff09; deno run --allow-netapi.example.com server.ts // 内置TypeScript支持 …...

JavaScript编译原理

在编程语言的世界中&#xff0c;编译器&#xff08;如 GCC、TypeScript&#xff09;和转译器&#xff08;如 Babel&#xff09;扮演着至关重要的角色&#xff0c;它们负责将人类可读的代码转换为机器或其他语言可执行的指令。这一过程通常分为四个关键阶段&#xff1a; 1. 词法…...

Nature图形复现—两种快速绘制热图的方法

相信大家在科研过程中&#xff0c;会遇到热图&#xff0c;有时候会觉得热图理解起来比较困难&#xff0c;或者觉得绘制热图也比较困难。本期教程我们来深入了解热图、绘制热图。 热图是一种通过颜色深浅或色阶变化来直观展示数据分布、密度或数值大小的可视化工具。它在多个领域…...

MySQL数据库——视图

目录 一、视图是什么&#xff1f; 二、特点 三、创建视图 四.查询视图 五.更新视图 六.视图的作用 总结 一、视图是什么&#xff1f; 视图是从一个或多个表中导出的虚拟表&#xff0c;它本身不存储数据&#xff0c;而是基于 SQL 查询的结果集。 二、特点 1.虚拟性&#xff1…...

标贝科技:大模型领域数据标注的重要性与标注类型分享

当前&#xff0c;大模型作为人工智能领域的前沿技术&#xff0c;其强大的泛化能力和复杂任务处理能力&#xff0c;依赖于海量数据的训练。而数据标注&#xff0c;作为连接原始数据与大模型训练的关键桥梁&#xff0c;在这一过程中发挥着举足轻重的作用。​ 大模型的训练依赖海…...

MYSQL备份恢复知识:第一章:备份操作举例

1. 备份工具 MySQL数据库的备份方式有两大类&#xff1a;一是物理备份&#xff0c;它对数据文件和日志进行整体备份&#xff1b;二是逻辑备份&#xff0c;通过DUMP工具将数据导出。具体的方法有以下几种&#xff1a; • 物理备份&#xff0c;MEB工具&#xff0c;是商用版本推荐…...

VS Code怎么设置python SDK路径

一、通过命令面板快速切换&#xff08;推荐方法&#xff09; 打开命令面板 • 快捷键&#xff1a;CtrlShiftP&#xff08;Windows/Linux&#xff09;或 CmdShiftP&#xff08;macOS&#xff09; • 输入命令&#xff1a;Python: Select Interpreter&#xff0c;回车后显示所有检…...

[经验总结]删除gitlab仓库分支报错:错误:无法推送一些引用到“http:”

问题描述 删除gitlab远程仓库报错。 [wingasowingaso release]$ git push gitlab --delete release remote: GitLab: You can only delete protected branches using the web interface. To http://x.x.x.x/gitlab/test.git! [remote rejected] release (pre-receive hoo…...

虹科干货 | CAN XL安全实践:深度防御下的密钥协商优化

摘要 随着汽车以太网的兴起和车载通信系统数量的增加&#xff0c;网络整合成为控制复杂性和成本的关键。当前架构呈现明确分层&#xff1a;以太网&#xff08;100/1000Mbit/s&#xff09;支撑信息娱乐、ADAS等高带宽应用&#xff0c;而CAN/CAN FD&#xff08;0.5-5Mbit/s&#…...

Linux干货(一)

前言 从B站黑马程序员Linux课程摘选的学习干货&#xff0c;新手友好&#xff01;若有侵权&#xff0c;会第一时间处理。 1.Linux目录结构 1.Linux操作系统的目录结构 Windows系统可以拥有多个盘符&#xff0c;如C盘、D盘、E盘 Linux没有盘符这个概念&#xff0c;只有一个根…...

Scala和Go差异

Scala和Go&#xff08;又称Golang&#xff09;是两种现代编程语言&#xff0c;各自具有独特的特性和设计哲学。 尽管它们都可以用于构建高性能、可扩展的应用程序&#xff0c;但在许多方面存在显著差异。 Scala和Go的详细比较&#xff0c;涵盖它们的异同点&#xff1a; 1. 语…...

PNG图片转icon图标Python脚本(简易版) - 随笔

摘要 在网站开发或应用程序设计中&#xff0c;常需将高品质PNG图像转换为ICO格式图标。本文提供一份高效Python解决方案&#xff0c;利用Pillow库实现透明背景完美保留的格式转换。 源码示例 from PIL import Imagedef convert_png_to_ico(png_path, ico_path, size):"…...

C语言中的宏

1.防止头文件重复包含 1.#pragma once #pragma once 是一个编译器指令&#xff0c;用于防止头文件被重复包含。它的核心作用是通过简单语法替代传统的头文件保护宏&#xff08;#ifndef/#define/#endif&#xff09;&#xff0c;提升代码简洁性和可维护性。 作用详解 防止重复…...

飞拍技术介绍

运动控制探针功能详细介绍 运动控制探针功能详细介绍(CODESYS+SV63N伺服)_伺服探针功能-CSDN博客文章浏览阅读683次。文章浏览阅读1.2k次。本文详细介绍了如何使用汇川AM400PLC通过EtherCAT总线与禾川X3E伺服进行通信。包括XML硬件描述文件的下载与安装,EtherCAT总线的启用…...

Qt进阶开发:QTcpSocket的详解

文章目录 一、QTcpSocket 简介二、常用方法的介绍和使用三、常用的信号函数一、QTcpSocket 简介 QTcpSocket 是 Qt 网络模块中用于实现基于 TCP 协议的客户端通信的类。它提供了一个面向流的接口,允许程序通过套接字连接到远程主机,发送和接收数据。 所属模块:QtNetwork用于…...

React中的状态管理Dva总结

在 React 开发中&#xff0c;随着应用的复杂度增加&#xff0c;如何高效地管理应用状态成为了一个非常重要的问题。为了解决这一问题&#xff0c;很多开发者选择了 Redux&#xff0c;然而 Redux 的学习曲线较陡&#xff0c;且需要配置较多的样板代码。为此&#xff0c;Ant Desi…...

PyTorch中的nn.Embedding应用详解

PyTorch 文章目录 PyTorch前言一、nn.Embedding的基本原理二、nn.Embedding的实际应用简单的例子自然语言处理任务 前言 在深度学习中&#xff0c;词嵌入&#xff08;Word Embedding&#xff09;是一种常见的技术&#xff0c;用于将离散的词汇或符号映射到连续的向量空间。这种…...

Python Django基于模板的药品名称识别系统【附源码、文档说明】

博主介绍&#xff1a;✌Java老徐、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&…...

深度学习---获取模型中间层输出的意义

一、什么是 Hook&#xff08;钩子函数&#xff09;&#xff1f; 在 PyTorch 中&#xff0c;Hook 是一种机制&#xff0c;允许我们在模型的前向传播或反向传播过程中&#xff0c;插入自定义的函数&#xff0c;用来观察或修改中间数据。 最常用的 hook 是 forward hook&#xf…...

【软件测试】第一章·软件测试概述

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;软件测试与软件项目管理_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录…...

格雷希尔G10和G15系列自动化快速密封连接器,适用于哪些管件的密封,以及它们相关的特性有哪些?

格雷希尔G10和G15系列快速密封连接器&#xff0c;用于自动化和半自动化过程中的外部或内部密封&#xff0c;通过使用气压驱动来挤压内部的密封圈&#xff0c;创造一个适用于各种管件的无泄漏密封连接&#xff0c;连接器内部的弹性密封圈可以提供其他产品不能提供的卓越密封性能…...

从零实现一个高并发内存池 - 1

C 高性能内存池解析 在 C 开发中&#xff0c;内存管理一直是影响程序性能的关键因素之一。传统的内存分配方式如 malloc 和 free 在高并发场景下往往存在性能瓶颈。为了解决这一问题&#xff0c;很多优秀的内存池方案应运而生&#xff0c;其中 Google 的 tcmalloc&#xff08;T…...

在 STM32 上使用 register 关键字

在 STM32 上使用 register 关键字时&#xff0c;有一些特别需要注意的事项。虽然 register 是 C 语言中的一个标准关键字&#xff0c;它用于提示编译器将变量尽可能存放在寄存器中&#xff0c;以加速访问&#xff0c;但在 STM32 这样的嵌入式平台上&#xff0c;还是需要考虑几个…...

【入门】纸盒的最大体积是多少?

描述 在一张尺寸为 n * n 厘米的正方形硬纸板的四个角上&#xff0c;分别裁剪掉一个 m * m 厘米的小正方形&#xff0c;就可以做成一个无盖纸盒&#xff0c;请问这个无盖纸盒的最大体积是多少&#xff1f; 立方体的体积 v 底面积 * 高&#xff09; 比如&#xff1a; n 5 &am…...

漏桶算法的实际应用案例:数据库批量写入流量控制

场景描述 假设有一个物联网平台&#xff0c;需要实时接收成千上万台设备上报的数据&#xff08;如温度、湿度等&#xff09;&#xff0c;并将数据存入数据库。设备可能在某些时刻集中发送数据&#xff08;例如定时批量上报&#xff09;&#xff0c;直接写入数据库可能导致以下问…...

c++函数参数列表后面的const的作用(常量成员函数)

c函数参数列表后面的const的作用 class Person { public://普通构造函数Person():age(0){}//常量成员函数void read_age() const {age100; //错误&#xff01;常量成员函数不允许修改成员变量&#xff08;除非成员变量用mutable修饰&#xff09;std::cout << "age:…...