2016蓝桥杯C++A:消除尾一(二进制运算)

基于STM32F407与AD9910/AD9959的高频可调DDS信号源设计与实战 本文详细介绍了基于STM32F407微控制器与AD9910/AD9959高性能DDS芯片的高频可调信号源设计与实现。文章从DDS原理入手,阐述了双芯片方案的优势,并重点分享了高频电路设计中的电源、PCB布局布线等关键硬件设计技巧与避坑指南。同时,提供了通过SPI配置DDS芯片及利用Matlab生成任意波形的软件驱动方法,旨在帮助开发者打造一个覆盖10Hz至4200MHz的实用信号发生器。 阅读详情

五、题目:消除尾一
填空题
下面的代码把一个整数的二进制表示的最右边的连续的1全部变成0
如果最后一位是0,则原数字保持不变。
如果采用代码中的测试数据,应该输出:
00000000000000000000000001100111 00000000000000000000000001100000
00000000000000000000000000001100 00000000000000000000000000001100
请仔细阅读程序,填写划线部分缺少的代码。
#include <stdio.h>

void f(int x)
{
int i;
for(i=0; i<32; i++) printf("%d", (x>>(31-i))&1);
printf(" ");

x = _______________________;

for(i=0; i<32; i++) printf("%d", (x>>(31-i))&1);
printf("\n");	

}

int main()
{
f(103);
f(12);
return 0;
}


分析思路:

  1. 这道题很明显是一道二进制的题目,观察第一个样例,将末尾的0变为1,第二个样例没有变化。 我是先把需要填空的那一行注释掉,在程序上运行一遍
#include <stdio.h>
 
void f(int x)
{
	int i;
	for(i=0; i<32; i++) printf("%d", (x>>(31-i))&1);
	printf("   ");
	
	//x = _______________________;
	
	for(i=0; i<32; i++) printf("%d", (x>>(31-i))&1);
	printf("\n");	
}
 
int main()
{
	f(103);
	f(12);
	return 0;
}

在这里插入图片描述

  1. 运行后发现输出结果与输入结果一致,所以填空部分应该填写是与第一个样例怎么消除1部分的代码。
  2. 二进制学过基本的运算
    举例:1010,先进行减1,在进行加1
    在这里插入图片描述
  3. 找到规律:减法操作由0变为1,加法操作与运算由1变为0
    在这里插入图片描述
    所以此处就是这个式子加法与运算,加一个1,就可以消除末尾的1,变为0
    代码:
#include <stdio.h>
 
void f(int x)
{
	int i;
	for(i=0; i<32; i++) printf("%d", (x>>(31-i))&1);
	printf("   ");
	
    x =x&(x+1); 
	
	for(i=0; i<32; i++) printf("%d", (x>>(31-i))&1);
	printf("\n");	
}
 
int main()
{
	f(103);
	f(12);
	return 0;
}

答案:x&x+1
在这里插入图片描述

【传感器模块项目实战】机器人/无人驾驶常用传感器模型、选型与安装 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!无人车&无人机导航合集本文先对机器人/无人驾驶常用传感器模型、选型与安装做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容分为位置式绝对型编码器增量式编码器打比赛的时候用过欧姆龙的增量式编码器,也用过待编码器的步进电机。【防盗标记–盒子君hzj】增量式编码器正交编码输出信号,用于识别正转和反转,通过微控制器(单片机)的片内外设硬件/软件解码(1)惯性器件-机械陀螺。 阅读详情

相关推荐

PaddleOCR多进程GPU推理实战:200万图片高效处理方案

本文详细介绍了PaddleOCR多进程GPU推理在高效处理200万张图片OCR任务中的实战方案。通过优化GPU利用率、多进程并发和关键参数调优,实现了从单进程3000张/小时到8进程3万张/小时的性能飞跃,为大规模OCR处理提供了可靠解决方案。

prometheus9mon的博客 260

c++之位运算(详解,初学者绝对能看懂)

目录 一 位运算符号 移位运算: 二 常用技巧: 三 运算符号优先级: 四 位运算常用技巧 1 判断奇偶性 2 求a的b次方 3 找处未重复的数 4用O(1)时间检测整数n是否是2的幂次. 5计算在一个 32 位的整数的二进制表示中有多少个 1 6二进制状态压缩 7二进制优化递归 8 一道经典题 一 位运算符号 & 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0 | 按位或 两个相应的二进制位中只要有一个为1...

m0_64183293的博客 2万+

汇川EASY系列之以太网通讯(套接字socket做从站)

汇川EASY系列的以太网通讯中的Socket字通讯,不能使用配置的方式实现,只能通过指令完成,本文将详细说明

这是一个长期关注工控行业技术的博客,实现0-1的突破,期待您的关注和留言 2990

C++删除字符串最后一位方法

以下介绍三种方法实现 1.使用substr方法 代码如下: #include<iostream> #include<string> using namespace std; int main() { string str; str = "123456"; cout << str << endl; //方法...

nextthen的博客 1万+

【Telephony】Telephony总纲!Phone进程流程(AOSP)

整个Framework层的Telephony框架运行在一个叫做Phone(com.android.phone)的进程中。 Phone进程启动的过程中,会初始化非常多的分支功能,SIM卡流程初始化就是其中之一,所以我觉得有必要写一下Phone进程的框架

weixin_44513784的博客 1975

基于gem5模拟trace的cache模拟器的实现

在做计算机体系结构的时候,模拟器是一个重要且又有效的工具。其中gem5集成了gem和m5的优点,使用起来比较简单和方便。其中包括了se模式和fs模式,se模式是在gem5运行我们已经编译好的程序,可以获取cache,cpu状态等数据,fs模式下可以模拟操作系统,我们可以将我们自己修改的linux内核加载到哥们上运行。下面介绍了使用gem5的se模式,运行编译好的ARM可执行文件。获取访存的trac

gaoxiang的专栏 8891

2016蓝桥杯C++A组——消除尾一

目录问题描述题目解析C++代码正确答案 问题描述 下面的代码把一个整数的二进制表示的最右边的连续的1全部变成0,如果最后一位是0,则原数字保持不变。 如果采用代码中的测试数据,应该输出: 00000000000000000000000001100111 00000000000000000000000001100000 00000000000000000000000000001100 00000000000000000000000000001100 请仔细阅读程序,填写划线部分缺少的代码。 #include

SAMSARA的博客 481

Django 6.0:有哪些新特性以及它们对实际项目的重要性

Django 6.0 感觉像是一个成熟的版本,它基于实际应用案例而打造。它减少了不必要的复杂性,同时扩展了框架的开箱即用功能。升级到 Django 6.0 不仅仅是为了保持版本更新,更是为了构建更易于维护、更安全、更能适应未来发展的应用程序。

iCloudEnd的博客 338

C/C++ 位操作

关于位操作的几个术语: 设置(set):将数二进制的某一位 置 1 清除(clear):将数二进制的某一位 1 清除,变为 0 将数字的二进制某一位置 1 首先将 1 左移 n 位 然后将结果与数字进行或(|)操作 #include <iostream> void set(int& num, int n) { num |= 1 << n; } int main() { int num = 2; // 0010 int n = 2; //

木偶不哭不笑的博客 1222

基于卷积神经网络的遥感图像地物分类

AI:89-基于卷积神经网络的遥感图像地物分类 基于卷积神经网络的遥感图像地物分类是一个令人兴奋的领域,它在环境监测、城市规划、农业、国防等领域具有广泛的应用。深度学习技术为我们提供了更准确、高效的工具,有望在未来进一步提高分类性能。在本文中,我们探讨了卷积神经网络的工作原理、数据准备、模型构建、训练和评估过程,并提供了多个代码示例。此外,我们讨论了地物分类的应用和挑战,以及未来的发展趋势。

一键难忘的博客 2717

手把手教你完成YOLOv10 PySide6目标检测界面搭建,使用Qt6设计YOLOv10检测系统,前台系统+后台管理系统开发实战,可用于大论文凑工作量或毕设必备,全网最详细教程

手把手教你完成YOLOv10 PySide6目标检测界面搭建,使用Qt6设计YOLOv10检测系统,前台系统+后台管理系统开发实战,可用于大论文凑工作量或毕设必备,全网最详细教程

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1732

消除尾一

消除尾一 下面的代码把一个整数的二进制表示的最右边的连续的1全部变成0 如果最后一位是0,则原数字保持不变。 如果采用代码中的测试数据,应该输出: 00000000000000000000000001100111   00000000000000000000000001100000 00000000000000000000000000001100   0000000000

王小东大将军的博客 432

ADRC自抗扰PD+ESO控制(博途SCL源代码)

文章浏览阅读119次。线性自抗扰控制(LADRC)系统算法框图-优快云博客文章浏览阅读335次。NLADRC自抗扰控制从Simulink仿真到PLC控制实现_自抗扰控制器 simulink仿真-优快云博客本文介绍了如何将ADRC自抗扰控制算法从Simulink仿真应用到PLC控制中,包括Simulink框图、TD微分器模型、MATLAB函数的使用、SCL控制代码,以及非线性状态误差反馈控制率的实现。ADRC自抗扰PD+ESO控制(CODESYS测试+完整ST代码)-优快云博客。

RXXW_Dor的博客 1315

【蓝桥杯】真题训练 2016年C++A组 题5 消除尾一

消除尾一 下面的代码把一个整数的二进制表示的最右边的连续的1全部变成0,如果最后一位是0,则原数字保持不变。 如果采用代码中的测试数据,应该输出 0000000000000000000000000110011100000000000000000000000001100000 0000000000000000000000000000110000000000000000000000000000001100 请仔细阅读程序,填写划线部分缺少的代码。 #include<stdio.h...

weixin_44566432的博客 169

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

征战蓝桥 —— 2016年第七届 —— C/C++A组第5题——消除尾一

题目 下面的代码把一个整数的二进制表示的最右边的连续的1全部变成0 如果最后一位是0,则原数字保持不变。 如果采用代码中的测试数据,应该输出: 00000000000000000000000001100111 00000000000000000000000001100000 00000000000000000000000000001100 0000000000000000000000000...

Alex 480

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

2016年第四届C/C++ A组蓝桥杯省赛真题

这里是蓝桥杯历年的题目专栏,将会陆续更新将往年真题以及解答发布出来,欢迎各位小伙伴关注我吖,你们的点赞关注就是给我最好的动力!!! 每天更新一届真题,敬请期待 蓝桥杯历年真题及详细解答 目录第一题:网友年龄第二题:生日蜡烛第三题:方格填数第四题:快速排序第五题:消除尾一第六题:寒假作业第七题:剪邮票第八题:四平方和第九题:密码脱落第十题:最大比例 第一题:网友年龄 题目描述 某君新认识一网友。 当问及年龄时,他的网友说: “我的年龄是个2位数,我比儿子大27岁, 如果把我的年龄的两位数字交换位置,刚好.

戎码一生的博客 3709

【蓝桥杯真题】2016年省赛A组(C++)

蓝桥杯真题+代码(2016年A组)

weixin_55188463的博客 1573

LQ0173 消除尾一【程序填空】

下面的代码把一个整数的二进制表示的最右边的连续的1全部变成0 如果最后一位是0,则原数字保持不变。 请仔细阅读程序,填写划线部分缺少的代码。

海岛Blog 191

2016 蓝桥杯a组

某君新认识一网友。 当问及年龄时,他的网友说: “我的年龄是个2位数,我比儿子大27岁, 如果把我的年龄的两位数字交换位置,刚好就是我儿子的年龄” 请你计算:网友的年龄一共有多少种可能情况? 提示:30岁就是其中一种可能哦. 请填写表示可能情况的种数。 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。#include &lt;cstdio&gt; using namespace...

为AC千千万万遍 512

【位运算总结】 之 与&

1、判断奇偶 一个数二进制的末位数是1,则该数是奇数,末位数是0,则该数是偶数。因此可以用 a&amp;1 == 0来判断。 如下例: #include &lt;iostream&gt; using namespace std; int main() { //输出0到100之间的所有奇数 for (int i = 0; i &lt; 100; ++i) ...

t11383的博客 249

2013-2017蓝桥杯省赛C++A组真题总结(题型及解法)

2013年 1.高斯日记: execl/手算/编程(模拟翻日历==简单枚举) 闰年 2.排它平方数: 枚举+筛选 数字不同的6位数x,它的平方数不含有x中的任意一个数字 枚举6位数,限制条件:a.各个位上的数不同; b.平方后的数字不含有x中的字符 3.振兴中华: 递归技巧,搜索解得个数 4.颠倒的价牌: 四位数旋转180°之后和源数字有一个差值 枚举+筛选,字符串处理,vector 5.前缀判断...

gl620321的博客 2631

去掉一个二进制数的最末尾的那个1

黑科技一: n & (n-1) 例子: 剑指offer15题,二进制中1的个数 class Solution { public: int hammingWeight(uint32_t n) { int count = 0; while(n){ n = n & (n-1); ++count; } return count; } }; 黑科技二: 把最右边那个1的左

页页读 1569

关于 如何消除2进制最右边的1 及 统计2进制中1的个数

【代码】关于 如何消除2进制最右边的1 及 统计2进制中1的个数。

laocooon的博客 297

【Java位运算】Java中去除整数二进制的最后一个1(位操作)

n&(n-1)为去除整数二进制的最后一个1 参考代码 public class Test { public static void main(String[] args) { // 5的二进制表示为:101 // 去掉二进制最后一个1,则为:100 // 转换成10进制为:4 System.out.println(5&(5-1)); // 4 // 1010 System.out.prin

Awt_FuDongLai的博客 1929

第七届蓝桥杯_第五题_消除尾一

消除尾一下面的代码把一个整数的二进制表示的最右边的连续的1全部变成0,如果最后一位是0,则原数字保持不变。如果采用代码中的测试数据,应该输出00000000000000000000000001100111   0000000000000000000000000110000000000000000000000000000000001100   0000000000000000000000000000...

hhhhhyyyyy8的博客 386

1.1进制转换:十进制转为二进制

实例说明:进制转换方法有很多种,今天介绍一种十进制转二进制的算法。     技术要点:     将十进制数转换为二进制数的具体过程有以下几个要点。     (1)要用数组来存储每次对2取余的结果,所以在数据类型定义的时候要定义数组,并将其全部数据元素赋初值为0。     (2)两处用到for循环,第一次for循环为0~14(本例中只考虑基本整型中的整数部分的转换,所以最高位始终为0),第二

LJ_King的博客 3017

python十进制转换其他进制直到输入q结束,python二进制转换,python将十进制转为二进制,题目描述:输入一个整...

python二进制转换,python将十进制转为二进制,题目描述:输入一个整题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。分析:python没有unsignedint类型>>>print("%x"%0xFFFFFFFF)ffffffff>>>print("%x"%-10)-a>>>print("%x"%-0xFFFF...

weixin_33641311的博客 551
上一篇: 2016蓝桥杯C++A:快速排序(详解版,很快掌握)
下一篇: 2020蓝桥杯校内模拟赛1-5(详细版本,看完就会)
Serendipity_筱楠
博客等级 码龄8年 2万+粉丝 272原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值