news 2026/6/20 19:05:34

C++ 变量

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C++ 变量

摘要:该代码实现了一个模板函数reversed_binary_value,它将布尔参数包以逆序方式转换为二进制数值。通过递归模板结构ReversedBinaryValueHelper计算二进制值,其中每个位乘2的幂次相加。测试部分使用CheckValues模板递归生成6位二进制组合,比较给定值x与范围64y到64y+63内的数值,输出匹配结果(1表示匹配,0不匹配)。输入包含测试用例数t及每对x,y值,输出每行64个0/1表示匹配情况。

模板参数包是一个接受零个或多个模板参数(非类型、类型或模板)的模板参数。要了解有关参数包的更多信息,请点击此处。

编写reversed_binary_value模板函数。它有任意数量的布尔值作为模板参数。
这些布尔值以相反的顺序表示二进制数字。函数必须返回一个整数,该整数对应于布尔值所表示的数字的二进制值。

例如:reversed_binary_value<0,0,1>()应返回4。

输入格式
第一行包含一个整数
t
t,测试用例的数量。
随后的t行中的每一行都包含一个测试用例。测试用例为两个空格分隔的整数,分别是x和y。

x是要进行比较的值。
y表示要比较的范围:64y到64y+63(总共64个数字)。
限制条件
0

x

65535
0≤x≤65535
0

y

1023
0≤y≤1023
传递给reversed_binary_value的模板参数数量将

16
≤16。
输出格式
每行输出包含64个二进制字符(即0和1)。每个字符表示范围中的一个值。
第一个字符对应于范围中的第一个值。最后一个字符对应于范围中的最后一个值。
如果范围中的值与x匹配,则字符为1;否则,字符为0。

#include<iostream>usingnamespacestd;// 输入reversed_binary_value<bool...>()的代码// 需要添加的代码开始template<bool...digits>structReversedBinaryValueHelper;// 基本情况:空参数列表template<>structReversedBinaryValueHelper<>{staticconstexprintvalue=0;};// 递归情况:第一个位(最低位) + 2 * 剩余位的值template<boolfirst,bool...rest>structReversedBinaryValueHelper<first,rest...>{staticconstexprintvalue=first+2*ReversedBinaryValueHelper<rest...>::value;};// 模板函数 reversed_binary_valuetemplate<bool...digits>intreversed_binary_value(){returnReversedBinaryValueHelper<digits...>::value;}// 需要添加的代码结束template<intn,bool...digits>structCheckValues{staticvoidcheck(intx,inty){CheckValues<n-1,0,digits...>::check(x,y);CheckValues<n-1,1,digits...>::check(x,y);}};template<bool...digits>structCheckValues<0,digits...>{staticvoidcheck(intx,inty){intz=reversed_binary_value<digits...>();std::cout<<(z+64*y==x);}};intmain(){intt;std::cin>>t;for(inti=0;i!=t;++i){intx,y;cin>>x>>y;CheckValues<6>::check(x,y);cout<<"\n";}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/19 1:56:58

Keil5芯片包下载(ARM Cortex-M):手把手教程从零安装

Keil5芯片包下载与安装全攻略&#xff1a;从零构建ARM Cortex-M开发环境 你是不是也遇到过这样的场景&#xff1f;刚装好Keil MDK&#xff0c;信心满满地新建工程&#xff0c;结果在“Select Device”界面怎么也搜不到自己的STM32芯片&#xff1b;或者编译时弹出一连串错误&am…

作者头像 李华
网站建设 2026/6/20 17:48:05

基于GPT-SoVITS的跨语言语音合成实践全记录

基于GPT-SoVITS的跨语言语音合成实践全记录 在内容创作日益个性化的今天&#xff0c;越来越多的视频博主、教育工作者甚至视障辅助系统开发者开始思考一个问题&#xff1a;能不能让AI用“我的声音”去说话&#xff1f;不是那种机械朗读的电子音&#xff0c;而是真正带有个人语调…

作者头像 李华
网站建设 2026/6/13 1:04:47

TensorRT-LLM部署Qwen3-14B

TensorRT-LLM部署TensorRT-LLM 官方文档地址&#xff1a;https://nvidia.github.io/TensorRT-LLM/overview.html下载相关的镜像Nvidia官方镜像网址&#xff1a;https://catalog.ngc.nvidia.com/search?filtersresourceType%7CContainer%7Ccontainer&querytensorrt-llm#下载…

作者头像 李华
网站建设 2026/6/19 8:50:13

IB、RocE、RDMA、TCP/IP:AI Scale-Out的基础

一、背景&#xff1a;分布式系统与 Scale-Out 架构 在讲解 Scale-Out&#xff08;横向扩展&#xff09;之前&#xff0c;先介绍一下分布式系统的概念。 当计算机系统发展成熟后&#xff0c;单一系统往往面临单点故障和性能瓶颈的问题。为解决这些问题&#xff0c;出现了两个主…

作者头像 李华
网站建设 2026/6/18 17:00:41

14、创建高级控件与视觉效果:从过渡容器到流行特效

创建高级控件与视觉效果:从过渡容器到流行特效 1. 过渡容器的引入与概念 在应用程序中,视图之间的过渡效果能为用户提供更好的视觉反馈,引导用户操作,避免界面信息的突然切换给用户带来的不适。就像在 PowerPoint 演示中,过渡效果能让幻灯片平滑切换。我们将这一概念应用…

作者头像 李华
网站建设 2026/6/10 14:40:53

21、WPF 中的命令系统详解

WPF 中的命令系统详解 1. WPF 中的弱事件模式 WPF 提供了几种不同的弱事件模式实现。其中一种是针对 INotifyPropertyChanged.PropertyChanged 事件的,由 System.ComponentModel.PropertyChangedEventManager 提供,主要用于数据绑定场景。此外,还有针对集合更改事件、…

作者头像 李华