车载电子电器架构 —— 电子电气系统车载功能子系统

车载电子电器架构 —— 电子电气系统车载功能子系统

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:

本就是小人物,输了就是输了,不要在意别人怎么看自己。江湖一碗茶,喝完再挣扎,出门靠自己,四海皆为家。人生的面吃一碗少一碗,人生的面见一面少一面。人生就是一次次减法,来日并不方长。自己的状态就是自己最好的风水,自己的人品就是自己最好的运气。简单点,善良点,努力点,努力使每一天都开心,不为别人,只为自己。

文章大体有如下内容:

1、车载功能子系统开发概述

2、车载功能子系统划分原则

3、功能子系统详情

4、子系统开发流程

5、车载功能子系统层小结

一、车载功能子系统开发概述

功能子系统定义及作用Subsystem:

A collection of components organized to accomplish a specific function orset offunctions。

子系统是为了实现一个特定功能或者一组功能的逻辑组件集合。子系统开发在架构开发过程中起到了承上启下的作用,子系统的存在可使功能分配清晰。更具体的来说,子系统承接一系列抽象的功能需求,再将功能需求转化分解为系统设计需求,并定义系统之间所需要的接口,包括时间的要求。最后分配到ECU,由ECU来承接和实现系统设计。

主机厂在研发一款汽车平台的初期,会基于以往大量的工程和实际经验,把整车的功能细分到不同的子系统里,比如车载娱乐系统,底盘和驱动系统,辅助驾驶和车身照明系统等等。

车载功能子系统是一个复杂的系统,包含了多个模块,每个模块都有其特定的功能。以下是一些常见的车载功能子系统及其功能:

-> 1、车车通信模块:此模块负责实现本列车的信息管理,包括注册与注销、线路其他列车通信信息查询、前车识别、车车通信维护以及故障状态处理等功能。

-> 2、行车许可模块:该模块通过综合线路静态信息、进路信息、道岔与信号机信息、前车信息等,来计算列车行车许可(MA)。

-> 3、超速防护模块:这个模块与CBTC系统车载子系统相关功能类似,它负责计算列车速度-距离控车曲线。当列车超速时,该模块会输出相应等级的制动,以保障列车行车安全。

-> 4、联锁模块:此模块主要负责进路管理、进路的排列和执行,并且为车载其他模块提供进路信息。

-> 5、电子地图模块:该模块主要支持全线路所有静态信息的存储和查询,同时支持位置坐标系的统一和转换。

-> 6、人机交互模块:此模块主要负责设备与司机之间进行人机交互,用于显示设备状态以及接收司机的输入信息。

-> 7、其他功能模块:这包括除上述功能模块以外的其他功能,如测速定位等。

除此之外,车载功能子系统还包括话音业务、宽带数据业务、短消息业务以及承载业务等通信功能。这些功能使得车载子系统能够实现与其他系统或设备之间的通信和数据传输,为驾驶员和乘客提供更好的服务和体验。

注:这里就体现出来技术积累的作用!

image

现阶段OEM将SOA架构引入到整个电子电气软件架构中,作为中间件的存在。就是将子系统的功能设计在新的场景进行应用。

二、车载功能子系统划分原则

车载功能子系统的结构和内容是在逻辑的视角上被描述的,是由一系列的标准所决定的,最主要的标准是保证架构的灵活性和稳定性。在创建子系统时基于以下原则:

-> 1、其相互间的接口应该一直保持稳定。一般接口的建立是不依赖于用户功能的,这些接口也应该独立于传感器和执行器。示例:热管理系统中的空调压缩机具有相同的接口,不依赖于压缩机类型。

该特征有如下特点:

数据一致性:接口应该确保数据在传输过程中保持一致,避免数据丢失、损坏或错误。

兼容性:接口设计需要考虑到不同子系统的兼容性问题,确保新开发的子系统或升级后的子系统能够无缝地与其他子系统集成。

实时性:车载系统中的接口应该满足实时性要求,确保数据能够及时、准确地传输到需要的地方。

安全性:接口设计应该考虑到安全性因素,如数据加密、访问控制和身份验证等,以防止数据泄露或非法访问。

可维护性:接口设计应该简单明了,易于理解和维护。此外,接口应该提供足够的错误检测和恢复机制,以便于在出现问题时能够快速定位和修复。

可扩展性:随着技术的发展和需求的变化,车载系统可能需要升级或扩展。接口设计应该考虑到未来的扩展性,以便能够轻松地添加新功能或升级现有功能。

-> 2、基于它的职责以及特定的功能特征,还要考虑零部件内部逻辑和外部物理组成部分。示例:刹车控制系统

刹车控制系统是车载功能子系统中至关重要的一部分,其职责是确保车辆在需要减速或停车时能够安全、有效地执行刹车操作。刹车控制系统具有多种功能特征,包括快速响应、精确控制、高可靠性等。为了满足这些功能需求,刹车控制系统需要综合考虑零部件的内部逻辑和外部物理组成部分。

首先,从内部逻辑方面来看,刹车控制系统由多个关键组件构成,包括刹车踏板、刹车总泵(Master Brake Cylinder)、刹车分泵(Front & Rear Wheel Brake Cylinder)、刹车钳、刹车片和刹车盘等。这些组件通过复杂的机械和电子连接相互协同工作,以实现刹车功能的精确控制。例如,当驾驶员踩下刹车踏板时,刹车总泵会接收到信号并通过刹车油传递压力到刹车分泵,进而推动刹车钳夹紧刹车盘,从而实现车辆减速或停车。

其次,从外部物理组成部分来看,刹车控制系统需要与其他车载系统进行协同工作,如液压系统、电子控制系统等。液压系统提供刹车所需的液压动力,确保刹车操作的顺利进行。电子控制系统则通过传感器和电脑等部件监测和控制刹车过程,实现更高级别的刹车辅助功能,如防抱死刹车系统(ABS)和电子制动力分配系统(EBD)等。

为了确保刹车控制系统的稳定性和可靠性,还需要考虑以下几点:

接口稳定性:刹车控制系统与其他车载系统的接口应该保持稳定,确保数据和信息能够准确、及时地传输。

材料选择:刹车钳、刹车片和刹车盘等关键部件的材料选择应该考虑到耐磨性、耐高温性和抗腐蚀性等因素。

安全冗余设计:刹车控制系统应该具备安全冗余设计,即在关键部件出现故障时,系统能够自动切换到备用模式,确保刹车功能的持续可用性。

维护保养:刹车控制系统需要定期进行维护和保养,以确保其长期稳定运行。这包括更换磨损的刹车片、检查刹车油的液位和质量等。

image

-> 3、基于分层设计原则,典型的形式是区分管理层和传感器层、执行器层。示例:在safety domain 中,ActiveSafetymanagement system为管理系统,environmentAndDriverPerception System为传感系统。在vehicle dynamic domain中,ehicleDynamicsManagement system为管理系统,Engine,BrakeControl,SuspensionControl等为执行系统

-> 基于一个或一组物理组件,例如车身域的座椅控制系统和车辆动力域的发动机系统。

-> 基于子系统组件的职责。示例:刹车系统,转向控制系统。

三、功能子系统详情

车载功能子系统边界定义现在电子电气架构开发划分6大域,50+个子系统,每个子系统都有其系统边界。子系统边界主要包含子系统的描述、子系统可提供的信息,子系统所承接的主功能实现逻辑等。当子系统边界清晰后,可便于功能实现时功能需求的分解,并且子系统负责人可清晰的判断功能层所分配的需求是否清晰、明确、是否有缺失、是否可实现,最终有利于功能实现。

按照功能定义划分了四个域:

-> 1、Body;

-> 2、Safety;

交互功能域:

-> 1、Vehicle Management;

-> 2、HMI。

Vehicle Management和HMI同其他匹个域都有交互。

image

Vehicle Management Domain包括所有域普遍使用的系统。例如模式管理、诊断管理,包括以下子系统:

->Accessories-负责拖车检测/拖杆管理/拖车灯控制/活动尾翼控制/辅助照明等;

->Connectivity-负责配置和提供基础设施(W-LAN,4G)与公共互联网和云服务进行沟通。

->CarconfigurationManagement-负责车辆配置参数的分配

->DiagnosticsManagement-负责诊断和SWDL功能,如内部测试人员和诊断网关

->HVExtermalEnergyManagementAndCharging-负责对车载充电器的处理,当车辆连接到电源时,用来给HV电池充电。

->HVPowerConversion-负责高低压电气系统之间的能量转换,将高压能量转换为低压给低压负载供电。

->LowVoltageElectricalEnergyManagement-负责电能的产生和储存。注意,这个子系统只处理低电压(12V)系统而不是任何高电压系统,可以是混合动力或纯电动汽车的一部分。

->SettingsManagement-负责处理车辆中的所有设置(例如作为个人的设置)可以由用户来做。

->VehicleEnergycoordinator-负责预测整车的能量需求,提供各种能量类型的能量及功率目标(电能、热能、动能)。

->ElectricalEnergyManagement-负责管理不同电压段之间的电能

Medium Voltage ElectricalEnergy Management-负责中压到低压电气系统之间的能量转换,以及中压电池的控制和监测。

VehicleModeManagement-负责模式管理的创建和分发诸如“Car Mode”“UsageMode”和“EEPM”等信息。它还负责“Power Supply”用于控制电力负荷的电力供应还负责“Start Manager”用于和动力系统交瓦,以决定引擎何时运行。

HMIDomain负责用户和车辆之间的交互。这包括所有交互例如输入控件,例如按钮、杆和面板,以及所有输出表示,例如信息显示,声音协调,触觉反馈等。包括以下子系统:

AudioSystem-这个子系统负责音频逻辑(优先级),声音生成及放大。

DriverInformation-这个子系统负责处理驾驶员的信息,包括环境光检测、电池等级显示、时间日期管理、里程计算、环境温度和燃油量采集处理、行车电脑信息、HUD背光等级管理、外部温度显示,动力总成信息显示,安全带报警显示,保养提示车速显示等

HMIManagementAndDisplay-这个子系统主要负责管理仪表、HUD、中控屏console屏相关的信息,以及识别和显示用户输入信息。

UserInputs-这个子系统主要负责处理HMI输入设备的信息,包括驾驶模式开关组组合开关、方向盘按键、后空调面板。

BodyDomain包括汽车车身系统,如车灯、空调和门锁等子系统。具体包括以下一些子系统:

AdjustableDriveControls-这个子系统负责可调节的驱动控制,如可调方向盘和踏板

ClimateControl-这个子系统负责车辆气候控制,主要是制冷、加热通风、除霜除雾功能。

ExteriorLight-这个子系统负责汽车外灯的控制

InteriorLight-这个子系统负责汽车内灯的控制。

Locking-这个子系统负责汽车的锁定及解锁功能和逻辑,包括四门锁定,引警盖和后盖锁定,油箱盖和充电口盖锁定等。

RemoteControl-这个子系统负责汽车通信系统的远程钥匙控制和数字钥匙控制。包括远程遥控钥匙按钮、数字钥匙命令等。

SeatControl-这个子系统负责座椅控制,如座椅电动调节、按摩、加热、通风等功能。

SoundSignalling-这个子系统负责电喇叭控制。

TheftProtection-负责处理警告和报警功能,以及外部零件的检测。

TyreMonitor-这个子系统由轮胎压力监测系统组成。

UsageAuthorizationControl-这个子系统负责车辆使用的授权,防止未经授权使用车辆。

VisibilityControl-这个子系统负责雨刮洗涤、前后电动除霜,后视镜自动调光等控制。WindowsMirror&RoofControl-这个子系统主要包括车窗、后视镜和遮阳帘或者折叠顶棚的操纵,即车窗玻璃升降,天窗和遮阳帘开闭,外后视镜调节等。

InfotainmentDomain包括用于信息和娱乐的一些核心子系统,注意并没有个与信息娱乐相关的零部件属于这个逻辑域。具体包含以下一些子系统:

Entertainment-这个子系统负责娱乐相关功能包括音频、视频输出例如媒体播放和收音机。

ConnectedServices-处理与互联网或云端连接的娱乐功能。 (主要负责车载APP,网页浏览器,手机映射等功能)。

Navigation-这个子系统负责提供车辆的位置以及将基于地图的信息提供给车辆中的其他系统,还提供用户的导航功能。

Telematics-提供非车载远程信息服务提供商进入车辆的通道。使车辆与非车载呼叫中心进行直接通信。 (主要负责CALL救援服务,远程控制,远程仪表台,远程监控,远程防盗,数字钥匙等功能)。

Telephone-这个子系统负责所有类型电话,包括蓝牙电话、电话簿等;

InfotainmentPlatform-这个子系统负责Infotainment域内所有ECU的状态以及电源模式的管理。并且通过整车的状态来配置Infotainment域内ECU的工作状态。例如IP连接管理、影音节点的电源管理、影音模式。

Safety Domain包括负责主动安全传感和决策的系统诸如自适应巡航控制和CMbB(刹车碰撞)等功能。它还包括安全气囊,安全带预紧装置等被动安全系统。具体包含以下一些子系统:

ActiveSafetyManagement-这个子系统集成了驾驶辅助、自动驾驶、泊车辅助的核心算法。主要是对碰撞风险进行评估,并对响应动作进行仲裁,是该报警还是制动/转向。

EnvironmentalAndDriverPerception-这个子系统提供driver和周边的环境信息包括车道线、交通标志、车流量、光线、障碍物及其距离等等。环境信息是实时的,不是历史数据或将来数据。

InertiaMonitor-这个子系统监测车辆的加速度及运动,提供纵向、横向、垂直加速度及角速度信息

PassiveSafetyManagement-这个子系统负责监测碰撞,并对碰撞进行分类,请求点爆安全气囊、安全带,实现预预紧安全带功能,监测乘员安全带、座椅是否占用等功能。

VehicleDynamicsDomain包括汽车的动力和底盘系统,具体包含以下一些子系统:

Driver Priority PT-依据加速踏板及换挡杆的输入评估驾驶员的需求;

Driver Priority Chassis-依据制动踏板的输入评估驾驶员的需求。

VehicleDynamicsManagement-这个子系统是车辆运动的核心控制系统,它与车辆动力域内其他的子系统协调并且处理其他域内与车辆动力相关的需求。

BrakeControl-该子系统负责传动的ABS/EBD/TCS等制动控制功能。

Differentials-这个子系统控制差速器,以提供前轴和后轴或单个车轮之间的扭矩分配,四驱控制。

EngineControl-这个子系统负责内燃机控制。

FuelEnergyControl-这个子系统控制燃油系统及它的零部件

VElectricDrive-这个子系统负责控制高压驱动电机的控制。

HVEnergyStorage-这个子系统负责高压电源能量的存储和控制。

Propulsion-这个子系统负责协调用于车辆驱动的系统,如发动机、传动装置电机、发电机等。SteeringControl-这个子系统负责辅助驾驶员完成转向操作,响应其他系统的转向需求(LKA、APA、TJA 等),采集方向盘转角信息。

SuspensionControl-这个子系统负责主动减震器控制,车身高度控制。

ThermalManagement-这个子系统包含一些和加热冷却相关的热执行器,例如机械电动压缩机、泵和阀门等。

TransmissionControl-这个子系统负责变速箱控制

MVElectricDrive-负责中压电机的控制。

子系统结构及内容子系统中主要包含LC(Logic Component)、LC Requirement及Port。Systemowner 在系统层进行系统设计时主要完成LC 的划分,LC 需求设计,发送和接收port。

LC在子系统层中创建,这些组件由负责的系统工程师为特定的子系统设计。逻辑组件的目的是定义详细的功能行为,其能够在分配的ECU上部署。LC Requirement是功能实现的具体方案,在LC当中设计LC Requirement的主要目的是最大限度的提高功能和需求的可读性、可追溯性和可重用性,并描述模型(功能实现)和需求之间的关系。

编写LC Requirement应遵循以下原则:

-> 1、明确Requirement的目的。需求的目的应该要解释清楚需求的背景、依赖性、功能意图等。还需解释为什么使用特定的解决方案,应从用户的视角使用简短的文字来描述。

-> 2、定义Requirement的范围。一般来说,需求应该定义是什么和为什么(应该由Software来完成),同时应用模型(实现)定义了如何实现。

-> 3、Requirement限制性。LC的需求应该只使用在此LC相关的接口(端口参数等)来实现,仅通过在LC中分配的输出端口来影响系统的其他部分

-> 4、参数的处理。在需求中参数应该以特定的值来命名和编写,并在括号中加上单位。例如,VoltageLimit(11.2V)。

-> 5、延时性需求。对于本地的计时器,描述需求时只需要使用简单的语句例如"wait for","wait for 10 ms if not …"等,不需要具体明确是哪一个计时器

-> 6、版本修订性。对每个功能都要进行版本修订和记录。用纯文本的形式描述发生了什么变化,以及它为什么被改变了。

-> 7、可测试性和复杂性。一个需求是可以被测试的,并且对下游来说可以被清晰的理解。一般来说,用简短的文本来描述,避免过度工程,并且试着将复杂的任务分解成小的、封闭的任务。

-> 8 、通用的语言规则。一般来说使用简短且确定的词语和句子,不要使用未定义或者定义不清楚的概念。在设置变量时使用枚举或有意义的说明而不是“magic数字。永远不要让下游读者来做决定(不要使用may,might,should,ought,could,perhaps,probably,使用shallbe这样肯定语气的词语)。个LC可以有多个发送/接收端Port是LC之间信息传递的端口。如下图2.18所示,口,LC之间通过发送/接收Port进行通信,通信内容为DATA ELEMENT。

e11c65686ee3d3c4e0e36783a8030f2

四、子系统开发流程

子系统开发流程子系统开发需要不断进行迭代,每个E阶段(造车阶段)都需要完成需求输入、需求拆解分析、定义及设计系统方案、创建系统接口及需求,分配逻辑部件至零部件层,最终根据subsystemchecklist检查系统数据,解决所有系统一致性问题后,按照系统开发节点Release系统数据。

27829cb67d13b111e843716518f9fb3

子系统开发主要工作主要描述子系统开发中Function-System-ECU间的映射及trace关系,并且从如下步骤描述子系统工作内容:

->功能层将某个功能需求映射至某个子系统中,子系统来识别需要实现的功能需求,并且确认输入的需求是否清晰明确、正确、有无缺失;

->2子系统层根据需求,合理划分系统LC,并且按照AUTOSAR 规则命名;

->3系统需求定义:根据功能的需求,完成子系统需求的设计,包含LC 的逻辑实现和Requirement 的定义;

->4系统Port定义:

(1)定义系统内及系统外的LC 之间交互port,按照AUTOSAR 规则命名;

(2)pot描述信息(文字描述) ;

(3)详细定义发送端port 的dataelement、datatype 信息

(4)定义port的类型、时间参数 (LTC)、初始值;

(5)定义port的E2E信息

-> 5、将Port 与LC Requirement 关联;

-> 6、将LC Requirement trace 至相应的Function Requirement;

-> 7、VFC 定义:根据整车分配的VFC 清单,确认VFC 是否覆盖系统所有的使用场景,定义LC 与VFC 的map 关系,并对Activitor 的LC 定义激活/取消条件;

-> 8、对于定义为Activitor 的LC 设计LC Requirment (Network Requirement)并trace至对应的VFC中:

-> 9、定义LC与Carconfig Parameter的map关系

-> 10、定义LC requirement与Parameter Value的map关系;

-> 11、完成系统LC分配到ECU,与分配LC的ECU握手,确认LC requirement;

-> 12、根据subsystem checklist检查系统数据,解决所有系统一致性问题后,按照系统开发节点Release系统数据

子系统层开发主要交付物

子系统层的主要交付物为SRD文档。SRD文档包含输入需求、系统设计、对系统逻辑所对应的零部件的需求、网络信号的需求等,主要作用是收集、开发和描述系统的需求,从系统层导出生成该文件,需要被参与系统开发的系统、零部件及测试工程师阅读并理解消化。

五、车载功能子系统层小结

本章节主要介绍了电子电气架构子系统开发策略,详细介绍了子系统层的开发流程及与上游功能及下游ECU之间的关系,概述了子系统开发从承接功能需求到系统设计和需求分配到ECU的整体开发流程。

子系统开发的本质是搭建软件架构,需要根据功能的需求,以软件工程师的思维设计相关的LC,并对LC进行需求描述,所以对Subsystem Owner的要求除了理解功能还需具备软件开发理念,具有软件开发经验。

搁笔分享完毕!

愿你我相信时间的力量

做一个长期主义者!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/465460.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 10.0 锁屏壁纸 LockscreenWallpaper

前言 一、设置壁纸 通过系统设置进行锁屏壁纸和桌面壁纸的设置。 Setting 部分的代码: packages/apps/WallpaperPicker2/src/com/android/wallpaper/module/DefaultWallpaperPersister.java private int setStreamToWallpaperManagerCompat(InputStream inputStre…

RBAC权限控制实现方案

上一文章讲述了利用RBAC实现访问控制的思路(RBAC实现思路),本文主要详细讲解利用vuex实现RBAC权限控制。 一、准备工作 从后台获取到权限对照表,如下: 1、添加/编辑楼宇 park:building:add_edit 2、楼宇管理 pa…

测试编码规范

0.测试代码和业务代码要分离 把测试代码和业务代码放进各自的所属的"盒子"中,互不干扰 Q:为什么要分离? 分门别类,避免混乱,方便维护 不在试卷上打草稿而是专门准备草稿纸 没人会在客厅做饭吧,不然要厨房干什么 Q:如…

BootstrapBlazor 模板适配移动设备使用笔记

项目模板 Bootstrap Blazor App 模板 为了方便大家利用这套组件快速搭建项目,作者制作了 项目模板(Project Templates),使用 dotnet new 命令行模式,使用步骤如下: 安装项目模板 dotnet new install Boo…

第四节 zookeeper集群与分布式锁

目录 1. Zookeeper集群操作 1.1 客户端操作zk集群 1.2 模拟集群异常操作 1.3 curate客户端连接zookeeper集群 2. Zookeeper实战案例 2.1 创建项目引入依赖 2.2 获取zk客户端对象 2.3 常用API 2.4 客户端向服务端写入数据流程 2.5 服务器动态上下线、客户端动态监听 2…

寒假 day10

1、请使用递归实现n! #include<stdio.h> #include<string.h> #include<stdlib.h>int fun(int m) {if(m0)return 1;else{return m*fun(m-1);} } int main(int argc, const char *argv[]) {int m;printf("please enter m:");scanf("%d",…

linux 08 文件查找

02. 第一. alias&#xff1a;起别名(可以输入别名就可以执行对应的命令)&#xff0c;语法&#xff1a;alias 别名‘ls -l’ 第二. locate&#xff1a; locate 找不到最近的文件 更新locate 后 find命令&#xff1a; find&#xff1a; find 路径 选项 文件名&#x…

ZigBee学习——在官方例程实现组网

✨Z-Stack版本&#xff1a;3.0.2 ✨IAR版本&#xff1a;10.10.1 ✨这篇博客是在善学坊BDB组网实验的基础上进行完善&#xff0c;并指出实现的过程中会出现的各种各样的问题&#xff01; 善学坊教程地址&#xff1a; ZigBee3.0 BDB组网实验 文章目录 一、基础工程选择二、可能遇…

C++入门学习(二十七)跳转语句—continue语句

当在循环中遇到continue语句时&#xff0c;它会跳过当前迭代剩余的代码块&#xff0c;并立即开始下一次迭代。这意味着continue语句用于跳过循环中特定的执行步骤&#xff0c;而不是完全终止循环。 直接看一下下面的代码更清晰&#xff1a; 与上一节的break语句可以做一下对比…

CentOS 7.9安装Tesla M4驱动、CUDA和cuDNN

正文共&#xff1a;1333 字 21 图&#xff0c;预估阅读时间&#xff1a;2 分钟 上次我们在Windows上尝试用Tesla M4配置深度学习环境&#xff08;TensorFlow识别GPU难道就这么难吗&#xff1f;还是我的GPU有问题&#xff1f;&#xff09;&#xff0c;但是失败了。考虑到Windows…

python+vue+django体育场地器材预约管理系统dyn9h

技术栈 后端&#xff1a;python 前端&#xff1a;vue.jselementui 框架&#xff1a;django Python版本&#xff1a;python3.7 数据库&#xff1a;mysql5.7 数据库工具&#xff1a;Navicat 开发软件&#xff1a;PyCharm .体育馆管理系统有管理员和用户两个角色。用户功能有场地…

算法沉淀——位运算(leetcode真题剖析)

算法沉淀——位运算 常用位运算总结1.基础位运算2.确定一个数中第x位是0还是13.将一个数的第x位改成14.将一个数的第x位改成05.位图6.提取一个数最右边的17.删掉一个数最右边的18.异或运算9.基础例题 力扣题目讲解01.面试题 01.01. 判定字符是否唯一02.丢失的数字03.两整数之和…