输入一个整数a,再输入两个整数p1,p2(p1,p2<32),输出该整数的二进制表示方法中从右端开始的p1到p2位.

位运算练习(1、将整数中的几位取出来,取反输出二进制2、将整数中间某一位置位 ) 1、  输入一个整数a,再输入两个整数p1,p2(p1,p2/***************************************************** copyright (C), 2016-2017, Lighting Studio. Co., Ltd. File name: Author:王 Version:0.1 Date: Description: 阅读详情
#include <stdio.h>
void fun( int n, int p1, int p2)
{
	int i;
	if(p1>p2)
	{
		int tmp;
		tmp=p2;
		p2=p1;
		p1=tmp;
	}
	for(i=p2;i>=p1;i--)
	{
		int tmp=0;
		tmp=(n>>(i-1))&1;
		if(tmp==1)
		{
			printf("1");
		}
		else
		{
			printf("0");
		}
	}

}
int main()
{
	int n,p1,p2;
	scanf("%d,",&n);
	scanf("%d,",&p1);
	scanf("%d,",&p2);
	fun(n,p1,p2);

	return 0;
}

本题是学习了位运算之后做的,首先我们得到一个整数,整数在内存里面占四个字节,32位,然后我们获得两个不等大并且在1--32之间的数,我们先比较这两个数的大小,保证是p2>p1的,然后我们就从p2开始,设置一个临时变量来保存移位后的内存表示。得到tmp之后,我们将tmp与1进行&运算,如果结果是1,那么这个位置上就是1,否则就是0,并进行打印。

从桨叶设计到电机匹配:手把手教你调出无人机最佳动力组合 本文系统介绍了无人机动力系统的核心匹配原则,重点解析了如何通过测试与数据分析,优化螺旋桨与电机的组合,从而显著提升系统力效与续航。文章提供了从参数解读、实战测试到深度调优的完整指南,帮助开发者解决电机过热、推力不足等常见问题,实现无人机性能最大化。 阅读详情

相关推荐

告别理论推导!用Matlab工具箱5步搞定相机标定(附张正友法原理白话解读)

本文详细介绍了如何使用Matlab工具箱在5步内完成相机标定,无需复杂理论推导。通过棋盘格拍摄和Matlab的Camera Calibrator工具箱,用户可以快速获取相机的内参和外参,显著提升3D视觉的准确性。文章还提供了张正友标定法的白话解读,适合初学者和工程师快速上手。

weixin_42548816的博客 415

输入一个整数,再输入两个整数p1,p2(p1,p2<32),将该整数的二进制表示方法中从右端开始的p1到p2位取反后输出

输入一个整数a,再输入两个整数p1,p2(p1,p2<32),将该整数的二进制表示方法中从右端开始的p1到p2位取反后输出. #include <stdio.h> void fun(int a, int p1, int p2) { int i; int temp; if (a < 0) { a = -a; } printf("The result:\n"); for (i = p2 - 1; i >= p1 - 1; i--) { if ((i +

G1842965496的博客 292

储能EMS工作原理深度剖析:功率分配与充放电策略的底层逻辑

储能EMS的功率分配与充放电策略,是其智能化的集中体现。功率分配更像一个“执行指挥官”,关注如何将总任务高效、公平、安全地分解到每个士兵(PCS/电池簇);而充放电策略则像“总参谋长”,基于战场情报(市场、电网、自身状态)制定最优的作战计划。AI强化学习策略:让EMS通过与复杂环境不断交互,自主学习最优策略,适应不确定性。数字孪生与仿真:在虚拟空间中提前验证策略,评估风险,实现预防性控制。跨站协同优化:多个储能站的EMS通过云平台协同,参与区域电网甚至跨省市场的联合优化调度。

小帽子的博客 376

位运算训练02—输入一个整数a,再输入两个整数p1,p2(p1,p2<32) 输出该整数的二进制表示方法中从右端开始的p1到p2位

/***************************************************   输入一个整数a,再输入两个整数p1,p2(p1,p2   输出该整数的二进制表示方法中从右端开始的p1到p2位. ***************************************************/ #include void PrintBin(in

weixin_39731414的博客 927

《Hadoop大数据技术原理与应用》(第2版)黑马程序员的课后习题答案

《Hadoop大数据技术原理与应用》(第2版)黑马程序员的课后习题答案

qq_36773158的博客 4656

uniapp ios原生插件开发 (framework,cocoapods)

已知UniApp的插件开发方式有两种, 第一种 Xcode Framework的方式,这种方式是官方指定的方式。 这种方式的优点就是简单直接, 但也有不足,比如当插件需要引入一些三方库时,操作起来就不是那么方便。 而使用Cocoapods则可以很方便的引入三方库。 接下来,本文探索使用Cocoapods的方式来进行UniApp插件开发。

Rey的技术博客 9824

2.输入一个整数a,再输入两个整数p1,p2(p1,p2<32),输出该整数的二进制表示方法中从右端开始的p1到p2位.

#include void fun(int a,int p1,int p2) { int i; int temp; printf("The result!\n"); for(i=p2;i>=p1;i--) { if((i+1)%4 == 0) { printf(" "); } temp=(a>>i) & 1; printf("%c",(temp==1)?'

FunkyFrog821951259的博客 1350

高通SDX35平台 modem启动异常分析

SDX35 MIFI项目在生产时出现modem反复重启问题。经排查发现是modem在初始化GNSS模块时访问了不存在的硬件地址导致崩溃,原因是产线使用的SDX35 000-AB型号芯片阉割了GNSS功能,而本地测试使用的AA型号支持该功能。解决方案是通过修改modem编译选项,采用高通新提供的genlmm2选项(保留IMS和SMS功能但去除GNSS支持),最终解决了启动异常问题并满足VZW认证需求。

四儿家的小祖宗的博客 275

输出该整数的二进制表示方法中从右端开始的p1到p2位

qq_43259179的博客 409

AUTOSAR EcuM模块介绍

AUTOSAR EcuM概述 AUTOSAR EcuM全称是Autosar ECU State Manager,位于Autosar BSW中System Service模块中,是一个独立于硬件的模块。 其主要作用是管理ECU上下电启动的状态,具体为: 初始化启动操作系统所需要的BSW(Basic Software)模块 为睡眠阶段和随后的唤醒完成微控制器的配置准备 管理ECU上的所有唤醒事件(EcuM通过唤醒验证协议验证已发生的唤醒,区分真实的唤醒事件,防止误唤醒) EcuM支持的特性列表 EcuM具有

酒无忧的博客 2996

1、世界级模拟电路设计指南

本文详细探讨了模拟电路设计的各个方面,从基础概念到实际应用,涵盖了元件选择、滤波器设计、反馈系统、噪声问题以及SPICE仿真的优缺点。文中还提供了设计实例和无计算机设计方法,旨在帮助工程师提升模拟电路设计的效率与可靠性。

s1t2u3的博客 99

输出整数的二进制表示 C语言

题目:输入一个整数a,再输入两个整数p1,p2(p1,p2<32),输出该整数的二进制表示方法中从右端开始的p1到p2位. 题中处理的是int型变量 从右端开始,输出p1(>=0)位到p2位(<=31)的二进制位 具体的解释已在代码注释中,不懂可以评论区留言,看到后会及时回复 #include <stdlib.h> void b_number(int n, int r_start, int r_end); //二进制位打印函数 int main() { int

sjsnisjeiej的博客 1754

uniapp [安卓苹果App端] - 在“安卓app/苹果app“平台端打包编译后,微信授权登录报错 login:fail [:-1]未能完成操作。(PGWXAPI错误-1。)错误码code:-10

uni-app,安卓Android,苹果ios,安卓app端,苹果App端,uniapp苹果安卓app,微信授权登录,uniAppAPP端微信登录报错,出现微信确认登录界面后点击登录报错,BundleID,应用ID,微信登录,app微信一键登录,微信登录绑定点确定就出错,AppSecrect,login:fail[:-1]未能完成操作。(PGWXAPI错误-1。),"errCode":-100,"code":-100,在uniappmanifest.json配置了AppSecrect还是报错无

🏆 前端领域优质创作者 3765

2.2题目:输入一个整数a,再输入两个整数p1,p2(p1,p2<32),输出该整数的二进制表示方法中从右端开始的p1到p2位.

/*输入一个整数a,再输入两个整数p1,p2(p1,p2 #include int main() {    int a;    printf("please input a:\n");    scanf("%d",&a);    int p1,p2;    printf("please input p1,p2:\n");    scanf("%d",&p1);    sca

qq_38076413的博客 756

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

位运算训练03—输入一个整数a,再输入两个整数p1,p2(p1,p2<32);将该整数的二进制表示方法中从右端开始的p1到p2位取反后输出

/***************************************************   输入一个整数a,再输入两个整数p1,p2(p1,p2   输出该整数的二进制表示方法中从右端开始的p1到p2位. ***************************************************/ #include   void PrintBin(i

weixin_39731414的博客 562

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

C语言学习历程——Training02位运算02

2. 题目:输入一个整数a,再输入两个整数p1,p2(p1,p2      输出该整数的二进制表示方法中从右端开始的p1到p2位. 分析:将二进制表示方法存入一个数组中,之后再读出p1到p2位 下面是代码实现: /***************************************************   输入一个整数a,再输入两个整数p1,p2(p

天空之尘的博客 363

逆转一个整数的二进制表示问题

//解法一 #define UNSIGNED_BITS_COUNT 32 unsigned int BitRev3(unsigned int input) { unsigned int ret, i; for(ret = i = 0; i > 1) ret = (ret << 1) | (input & 1); return ret;

dearwind153的专栏 476

Training2:位操作训练

Training2:位操作训练 1.题目:请编写一个c函数,该函数给出一个字节中被置为1的位的个数#include #include int func(int num) { int p; int i = 0; int count = 0;; for(i = 0;i { p = num % 2; num = num / 2; if(p == 1) count ++;

Aikenlan的博客 617

输入一个整数a,再输入两个整数p1ip2(p1,p2<32),将该整数的二进制表示方法中从右端开始的p1到p2位i

//输入一个整数a,再输入两个整数p1ip2(p1,p2 #include void fun(long n,int p1,int p2); int main() { long n;//32位的整数是长整形 int p1,p2;//p1,p2是位数 printf("请输入三个数:\n"); scanf("%ld",&n); scanf("%d%d",&p1,&p2);

huangchun96的博客 1177

Day20~输入一个整数a,再输入两个整数p1,p2(p1<p2<32),输出该整数的二进制表示方法中从右端开始的p1到p2的数值

输入一个整数a,再输入两个整数p1,p2(p1<p2<32),输出该整数的二进制表示方法中从右端开始的p1到p2位。

2403_89082129的博客 662

通过编程实现,统计1~n有多少个9和输入一个整数再输入两个整数输出该整数的二进制表示方法中从右端开始的1到2位.(小程序)

通过编程实现,统计1~n有多少个9: #include&lt;stdio.h&gt; int main() { int n,i; //n,i为变量 int count = 0; //count计数 int temp1,temp2; printf("please input number\n"); scanf ("%d",&amp;n); for (i...

qq_44571183的博客 325

剑指offer:输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。

剑指offer算法题 进制转换 补码原码反码 题目描述 输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。 题目分析 解法一 用1与n的每一位相与,所得结果为1则该数位是1,计算完成后将n右移1位。注意这里的右移用>>>,代表无符号右移,若用>>右移对负数计算是会陷入死循环。 解法二 同样是每一位与1相与,这次我们要做的是将1向左移,这样我们不用考虑负数的问题。 最优解 每次计算都是把最右的1计算并清除掉,这样就只剩下其他的1,并且没有新加1。所以和是不是负

gaozhuang63的博客 1930

输入一个整数a,再输入两个整数p1,p2将该整数的二进制表示方法中从右端开始的p1到p2位取反后输出

#include<stdio.h> int main() { int a; int p1,p2; int i; printf("输入整数:"); scanf("%d",&a); printf("取反哪两位之间的二进制数?\n"); scanf("%d",&p1); scanf("%d",&p2); if(p1<p2&am...

phenomenon_ting的博客 446

请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如把9表示成二进制是1001,有2位是1。因此如果输入9,该函数输出2

刚刚讲完 ^异或,我们接下来来看相与 相与的规则就是:全1为1,不同为0 运算规则:0&0=0;0&1=0;1&0=0;1&1=1; 但我们需要理解的是,通常我们两个变量进行相与的时候使用它们的二进制进行相与,java中 int 类型占4个字节,一个字节是8位,所以一个int 类型是32位。 关于位运算不太清楚的,请百度一下,做个记录,能够大概即可 //方法1 这里直接是实现部分,小伙伴们自取,注意粘贴时括号问题 public static void main(Str

wo_yuanchengfeng的博客 906

输入一个整数a,再输入两个整数p1p2,输出a的二进制表示中p1到p2位之间的数

#include<stdio.h> int main() { int a; int p1,p2; int i; printf("输入整数:"); scanf("%d",&a); printf("输出哪两位之间的二进制数?\n"); scanf("%d",&p1); scanf("%d",&p2); if(p1<p2&amp...

phenomenon_ting的博客 391

输入一个整数a,再输入两个整数p1,p2(p1,p2<32),输出该整数的二进制表示方法中从右端开始的p1到p2位.

题目:输入一个整数a,再输入两个整数p1,p2(p1,p2<32),输出该整数的二进制表示方法中从右端开始的p1到p2位. #include <stdio.h> void fun(int a, int p1, int p2) { int i; int temp; if (a < 0) { a = -a; } printf("The result:\n"); for (i = p2 - 1; i >= p1 - 1; i--) { if ((i +

G1842965496的博客 322

题目:输入一个整数a,再输入两个整数p1,p2(p1,p2<32),输出该整数的二进制表示方法中从右端开始的p1到p2位.

源程序: #include <stdio.h> int main() { int a, p1, p2, i; int arr[32]; printf("Please input a p1 p2(p1, p2 < 32):\n"); scanf("%d %d %d", &a, &p1, &p2); a = (a >> (p1 - 1)); //先往右移(p1 - 1)位

YZxiaoJT的博客 193
上一篇: 编写一个c函数,该函数给出一个字节中被置为1的位的个数
下一篇: C语言递归李白打酒
x_unknown
博客等级 码龄9年 10粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值