每日一题——第一百零九题
题目:进制转换合集。任意r进制与十进制之间的转换
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
long stringToDecimal(const char* str, int base);
void convertToBaseR(int num, int r);int main() {char hexStr[] = "1A3F";char octStr[] = "123";char binStr[] = "101010";printf("十六进制转换成十进制为: %ld\n", stringToDecimal(hexStr, 16));printf("八进制转换成十进制为: %ld\n", stringToDecimal(octStr, 8));printf("二进制转换成十进制为: %ld\n", stringToDecimal(binStr, 2));int num, r;printf("请输入十进制的整数: ");scanf_s("%d", &num);printf("请输入要转化的进制数: ");scanf_s("%d", &r);convertToBaseR(num, r);return 0;
}/// <summary>
/// 将字符串str转为十进制
/// </summary>
/// <param name="str">字符串</param>
/// <param name="base">基数2, 8, 16等</param>
/// <returns></returns>
long stringToDecimal(const char* str, int base) {long result = 0;int multiplier = 1;int length = strlen(str);//从字符串末尾开始解析for (int i = length - 1; i >= 0; i--){char ch = tolower(str[i]);int digit = -1;//根据字符计算其对应的值if (ch >= '0' && ch <= '9') {digit = ch - '0';//将字符串转换成对应的数字}else if(base == 16 && (ch >= 'a' && ch <= 'f')){digit = ch - 'a' + 10;}else if(ch < '0' || (ch > '9' && base !=16) ||(base == 16) && ch > 'f'){//出错return 0;}//判断是否在有效范围内if (digit >= base) {return 0;}result += digit * multiplier; //更新累加结果multiplier *= base;//更新下一次计算的基数}}/// <summary>
/// 将十进制数转换成任意的r进制数
/// </summary>
/// <param name="num">数字</param>
/// <param name="r">要转换的目标进制数</param>
void convertToBaseR(int num, int r) {int index = 0;char result[65];//假设转换后的数不超过64位//处理num = 0的情况if (num == 0) {printf("0\n");return;}while (num > 0){int remainder = num % r;if (remainder < 10) {result[index++] = '0' + remainder;//余数小于10的,将其转换成0~9之间的字符}else{result[index++] = 'A' + (remainder - 10);//余数大于10的,将其转换成'A' ~ 'Z' 字符}num = num / r; //更新下一次参与计算的数字}result[index] = '\0'; //在字符串末尾添加结束符//因为结果是从低位到高位存储的,所以需要反向打印for (int i = index; i >= 0; i--){printf("%c", result[i]);}printf("\n");
}
相关文章:
每日一题——第一百零九题
题目:进制转换合集。任意r进制与十进制之间的转换 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<ctype.h> long stringToDecimal(const char* str, int base); void convertToBaseR(int num, int r);int main() {ch…...
街头摊贩检测系统源码分享
街头摊贩检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…...
服务器数据恢复—SAN环境下LUN映射出错导致文件系统一致性出错的数据恢复案例
服务器数据恢复环境: SAN环境下一台存储设备中有一组由6块硬盘组建的RAID6磁盘阵列,划分若干LUN,MAP到不同业务的SOLARIS操作系统服务器上。 服务器故障: 用户新增了一台服务器,将存储中的某个LUN映射到新增加的这台服…...
深度学习:自然语言处理的基本原理
概念: 自然语言处理(Natural Language Processing,简称NLP)是人工智能和语言学领域的一个分支,它致力于研究如何让计算机能够理解、解释和生成人类语言,以及如何实现人与计算机之间的有效通信。自然语言处理…...
Win10 Chrome浏览器被强制绑定主页的解决办法
Win10 Chrome浏览器被强制绑定主页的解决办法 背景 刚刚重装的系统默认是某杀毒软件,使用浏览器时发现浏览器主页老是hao123,还改不了。于是卸载了此杀毒软件,换了别的。发现还是解决不了浏览器主页被绑定且改不了的问题 体现 chrome://se…...
【UE5】将2D切片图渲染为体积纹理,最终实现使用RT实时绘制体积纹理【第四篇-着色器投影-接收阴影部分】
上一章中实现了体积渲染的光照与自阴影,那我们这篇来实现投影 回顾 勘误 在开始本篇内容之前,我已经对上一章中的内容的错误进行了修改。为了确保不会错过这些更正,同时也避免大家重新阅读一遍,我将在这里为大家演示一下修改的…...
Shell脚本基础——实训项目任务
项目一 项目实训 (初始Shell脚本) 项目一 项目实训 (初始Shell脚本)项目实施任务一 输入输出重定向任务二 数据输入输出操作任务三 Shell变量操作任务四 算术运算符操作任务五 设置环境变量 【实训任务】 本实训的主要任务是通过编写简单的shell脚本,完成使用数据…...
Eclipse Memory Analyzer (MAT)提示No java virtual machine was found ...解决办法
1,下载mat后安装,打开时提示 jdk版本低,需要升级到jdk17及以上版本,无奈就下载了jdk17,结果安装后提示没有jre环境,然后手动生成jre目录,命令如下: 进入jdk17目录:执行&…...
【C++篇】深度剖析C++ STL:玩转 list 容器,解锁高效编程的秘密武器
文章目录 C list 容器详解:从入门到精通前言第一章:C list 容器简介1.1 C STL 容器概述1.2 list 的特点 第二章:list 的构造方法2.1 常见构造函数2.1.1 示例:不同构造方法2.1.2 相关文档 第三章:list 迭代器的使用3.1 …...
植物大战僵尸杂交版V2.5.1下载(最新版)
2.5.1版本更新公告: 在最新的2.5.1版本中,游戏对“两面夹击”关卡进行了多项重要调整。出怪倍率和种类均有所降低,部分关卡的初始阳光量也得到了调整,以增强玩家的策略性。同时,玩家可以在这些关卡中使用投手类植物&a…...
基于nodejs+vue的游戏陪玩系统
作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…...
SVN文件不显示修改状态图标
今天安装试用SVN时发现文件不显示修改状态 以下为解决方法: 1,在有.svn的文件夹中右键--tortoiseSvn--setting 2,选中icon Overlays,右侧的status cache 选shell 3,点击icon set 如下图所示 4,修改icon…...
GB28181语音对讲协议详解
GB28181-2016语音对讲流程如下图1所示: 图1.语音对讲流程。 其中, 信令 1 、2 、 3 、 4 为语音广播通知、 语音广播应答消息流程; 信令 5 、 1 2 、 1 3 、 1 4 、 1 5 、 1 6 为 S I P 服务器接收到客户端的呼叫请求通过 B 2 B UA 代理方式建立语音流接收者与媒…...
JavaScript 数据可视化:前端开发的核心工具
随着互联网和大数据的快速发展,数据呈爆炸式增长,如何有效地展示和理解数据成为了一项关键技能。JavaScript 作为前端开发的主要语言,不仅在构建网页方面无可替代,也在数据可视化领域发挥了重要作用。从简单的图表到复杂的交互式展…...
[Redis][哨兵][上]详细讲解
目录 0.前言1.基本概念1.相关名词解释2.主从复制的问题3.人工恢复主节点故障4.哨兵自动恢复主节点故障 0.前言 说明:该章节相关操作不需要记忆,理解流程和原理即可,用的时候能自主查到即可Redis的主从复制模式下,⼀旦主节点由于故…...
如何展开浏览器开发者模式的Fetch/XHR
说明:大多数程序员都用浏览器的F12,开发者模式查看接口,我也不例外。我常用下面这个选项,它会过滤掉掉其他文档、样式请求,只展示访问服务器的接口请求 有次,不知道点了什么,这个菜单消失找不…...
Pydantic 是一个强大的 Python 库
Pydantic 是一个强大的 Python 库,专门用于数据验证和设置管理。以下是对 Pydantic 的详细介绍: 一、主要功能和特点 数据验证: Pydantic 通过 Python 类型注解来定义数据模型,并自动验证输入数据是否符合预定义的类型和结构。提…...
每日OJ题_牛客_NC40链表相加(二)_链表+高精度加法_C++_Java
目录 牛客_NC40链表相加(二)_链表高精度加法 题目解析 C代码 Java代码 牛客_NC40链表相加(二)_链表高精度加法 链表相加(二)_牛客题霸_牛客网 题目解析 模拟⾼精度加法的过程,只不过是在链表中模拟。 C代码 /*…...
Dubbo快速入门(一):分布式与微服务、Dubbo基本概念
文章目录 一、分布式与微服务概念1.大型互联网架构目标2.集群和分布式(1)集群 (Cluster)(2)分布式计算 (Distributed Computing)(3)集群与分布式的关系(4)实践中的应用案例 3.架构演…...
jmeter性能测试---csv数据文件设置
(1)什么时候使用CSV数据文件设置? 当不同的用户,或者同一用户多次循环时,都可以获取到不同的值 (2)使用CSV数据文件设置进行参数化的步骤? 实例: 请求:htt…...
Alibaba DASD-4B Thinking 对话工具在网络安全领域的应用:智能威胁分析与响应
Alibaba DASD-4B Thinking 对话工具在网络安全领域的应用:智能威胁分析与响应 每天,安全运维团队的工程师们都要面对海量的安全告警。防火墙日志、入侵检测系统的报警、终端防护软件的提示……这些信息像潮水一样涌来。传统的处理方式,往往依…...
实战分享:如何用Altium Designer高效搞定PCB的定位孔、散热孔和屏蔽孔?
Altium Designer实战:PCB定位孔、散热孔与屏蔽孔的高效设计指南 在PCB设计领域,机械孔的设计往往被工程师视为"简单任务"而草率处理,直到量产时才发现定位偏差、散热不足或EMI超标等问题。作为从业十年的硬件设计师,我曾…...
中兴光猫配置解密工具:3步解锁家庭网络自主权
中兴光猫配置解密工具:3步解锁家庭网络自主权 【免费下载链接】ZET-Optical-Network-Terminal-Decoder 项目地址: https://gitcode.com/gh_mirrors/ze/ZET-Optical-Network-Terminal-Decoder 你是否曾经因为无法修改光猫配置而感到束手无策?当网…...
OpenCore Legacy Patcher技术指南:让老旧Mac焕发新生的系统扩展方案
OpenCore Legacy Patcher技术指南:让老旧Mac焕发新生的系统扩展方案 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 当您的Mac设备因苹果官方停止…...
智能处理与开源工具:突破传统背景抠图限制的实时解决方案
智能处理与开源工具:突破传统背景抠图限制的实时解决方案 【免费下载链接】obs-backgroundremoval An OBS plugin for removing background in portrait images (video), making it easy to replace the background when recording or streaming. 项目地址: https…...
Mustache错误处理与调试:7个常见问题排查清单
Mustache错误处理与调试:7个常见问题排查清单 【免费下载链接】mustache Logic-less Ruby templates. 项目地址: https://gitcode.com/gh_mirrors/mu/mustache Mustache是一款流行的无逻辑Ruby模板引擎,但开发者在实际使用中经常会遇到各种错误和…...
Muzei故障排除大全:20个常见问题及其解决方案的完整列表
Muzei故障排除大全:20个常见问题及其解决方案的完整列表 【免费下载链接】muzei Muzei Live Wallpaper for Android 项目地址: https://gitcode.com/gh_mirrors/mu/muzei Muzei是一款优秀的Android动态壁纸应用,它能为您的手机主屏幕带来每日更新…...
springboot+vue基于web的校园失物招领系统的设计系统
目录同行可拿货,招校园代理 ,本人源头供货商系统功能模块分析交互与流程设计技术实现要点项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作同行可拿货,招校园代理 ,本人源头供货商 系统功能模块分析 用户模块 注册与登录&…...
AI与数据库融合:从经典论文到前沿实践
1. AI与数据库融合的起源与演进 数据库和人工智能这两个看似独立的领域,其实早在计算机科学发展的初期就已经产生了交集。上世纪70年代,当关系型数据库理论刚刚确立时,研究者们就开始探索如何让数据库系统具备一定的"智能"。当时的…...
Unity 6升级后频繁闪退?别慌,这8个D3D11崩溃的修复方法亲测有效
Unity 6升级后D3D11崩溃全攻略:从快速修复到深度优化 刚升级到Unity 6的开发者们,是否正被突如其来的编辑器崩溃搞得焦头烂额?那些令人抓狂的"D3D11设备丢失"弹窗,不仅打断工作流,还可能让宝贵项目进度陷入停…...
