首页 > 其他分享 >7.24日进制转换测试总结

7.24日进制转换测试总结

时间:2024-07-24 19:29:13浏览次数:14  
标签:10 进制 int 7.24 传送门 测试 string op

7.24日进制转换测试总结

比赛传送门

补充知识点:

\(1.\)

\(X\) 进制 \(\to\) 十进制

位值累加法

所有进制位的最小单位都是1

①写出所有位的位号

②基数的位号次方 \(\implies\) 位权

③十进制数字 \(=\) 位权 \(\times\) 该位上的数字之和

\(Code:\)
int to_ten(string op, int x)
{
    int sum = 0;
    int len = op.size();
    for (int i = 0;i < len;++i)
    {
        if (op[i] >= '0' and op[i] <= '9')
        {
            sum = sum * x + (op[i] - '0');
        }
        if (op[i] >= 'A' and op[i] <= 'Z')
        {
            sum = sum * x + (op[i] - 'A' + 10);
        }
    }
    return sum;
}

直接写成函数,需要的时直接调用 \(\Uparrow\)

\(2.\)

十进制 \(\to\) \(X\) 进制

①每次除基数,得到商 (下一次的被除数) ,余数就是当前的最低位的数值

②继续被除数除基数

③最后的ans就是所有的余数反过来

\(Code:\)

string to_x(int a, int x)
{
    while (a)
    {
        string s = "";
        if (a % x < 10)
        {
            s = char('0' + a % x) + s;
        }
        else if (a % x >= 10)
        {
            s = char('A' + a % x - 10) + s;
        }
        a /= s;
    }
    return s;
}

直接写成函数,需要的时直接调用 \(\Uparrow\)

Q1: B3620 x 进制转 10 进制

题目传送门 提交记录传送门

使用位值累加法,具体方法看下面 \(\Downarrow\)

所有进制位的最小单位都是1

①写出所有位的位号

②基数的位号次方 \(\implies\) 位权

③十进制数字 \(=\) 位权 \(\times\) 该位上的数字之和

本题目一次过

\(Code:\)

#include <bits/stdc++.h>
using namespace std;
int to_ten(int n, string op)
{
	int j = 0;
	int len = op.size();
	for (int i = 0;i < len;++i)
	{
		if (op[i] >= '0' and op[i] <= '9')
		{
			j = n * j + int(op[i] - '0');
		}
		else
		{
			j = n * j + int(op[i] - 'A' + 10);
		}
	}
	return j;
}
int main()
{
    int x;
    string s;
    cin >> x >> s;
    cout << to_ten(x, s);
	return 0;
}

Q2: B3619 10 进制转 x 进制

题目传送门 提交记录传送门

标签:10,进制,int,7.24,传送门,测试,string,op
From: https://www.cnblogs.com/yucheng0630/p/18321552

相关文章

  • c语言(7.24)
    今天学习了指针的两个作用#include<stdio.h>voidgetmaxandmin(intarr[],intlen,int*max,int*min);intmain(){ //指针作用2: //函数返回多个值 //练习: //定义一个函数,求数组的最大值和最小值,并进行返回 intarr[]={1,2,3,4,5,6,7,8,9}; intlen=sizeof......
  • RestSharp编写api接口测试,并实现异步调用(不卡顿)
    首先,确保你已经安装了RestSharpNuGet包。如果没有安装,可以通过以下命令安装:bashInstall-PackageRestSharp然后,在你的C#代码中,你可以按照以下步骤操作:引用RestSharp命名空间。创建一个RestClient实例。创建一个RestRequest实例,并设置请求方法和URL。执行异步POST请求。......
  • 计算机组成与体系结构-计算机进制
    在线进制转换工具:https://tool.oschina.net/hexconvert二进制0b开头,由数字0、1组成,如:0b100101110八进制0开头,由0~7组成的数。如0126,050000十六进制以0X或0x开头,由09,AF或a~f组成。如0x12A,0x5a000,以H结尾也表示十六进制,如:C000H进制转换十进制转二进制,采用除二取余法......
  • Java学习笔记(三)算术运算符、逻辑运算符、四种进制介绍
    Hii,mJinXiang⭐前言⭐本篇文章主要介绍Java算术运算符、逻辑运算符、四种进制介绍详细使用以及部分理论知识......
  • TruePositive 如何是 keras.metrics.TruePositives 中的十进制数?
    我正在尝试在图像数据集上训练CNN模型,但我被获取TruePositives、TrueNegatives、FalsePositives和FalseNegatives的十进制值所困扰。这怎么可能?ERRORsampleEpoch1/336/36━━━━━━━━━━━━━━━━━━━━69s2s/step-false_negatives:30.1351-false_......
  • 喜报!钛铂数据 TapDB 通过中国信通院文档数据库产品测试
    在中国信通院组织的2024上半年“可信数据库”—文档数据库基础能力测试中,深圳钛铂数据有限公司(以下简称“钛铂数据”)旗下的钛铂分布式文档数据库(TapDB)顺利通过了所有测试项目,测试结果表明,该产品在文档数据库基本功能、高可用能力、安全能力、兼容能力、分布式能力和管理能力方面符......
  • DB-GPT应用部署测试
    环境要求启动模式CPU*MEMGPU备注代理模型4C*8G代理模型不依赖GPU本地模型8C*32G24G本地启动最好有24G以上GPUconda环境安装默认数据库使用SQLite,因此默认启动模式下,无需安装数据库。如果需要使用其他数据库,可以看后面的高级教程。我们推荐通过conda......
  • day2 测试基础知识
    1.简述黑盒测试和白盒测试的优缺点?2.在没有产品说明书和需求文档的情况下能够进行黑盒测试的设计吗?能,可以通过其他工作内容去替代产品说明书和需求文档3.单元测试的策略有哪些,主要内容有哪些?逻辑覆盖,循环覆盖,同行评审,桌前检查,代码走查,代码评审,静态数据流分析......
  • 【UDS诊断协议:ISO-14229中文】【嵌入式车载测试收徒】
    每日直播时间:(直播方式:腾讯会议)周一到周五:20:00-23:00周六与周日:9:00-17:00                 进腾讯会议学习的,可以关注我并后台留言直播内容:(车厂真实项目实操测试)HIL(硬件在环)测试、UDS功能诊断、UDS自动化诊断、数据库制作、DTC故障制造、CAN......
  • CMake使用知识点之三——测试 用例
    知识点积累1内部宏${PROJ_SOURCE_DIR}:2单元测试代码cmake_minimum_required(VERSION3.10)project(ExampleProject)#启用测试enable_testing()#添加可执行文件main(如果有主程序的话)add_executable(mainmain.cpp)#添加测试可执行文件test1和test2add_e......