c语言给定一个非空整数数组_C程序检查给定整数的所有位是否为一(1)

c语言给定一个非空整数数组

Problem statement: Write a C Program to check if all the bits of a given integer is one (1).

问题陈述:编写一个C程序来检查给定整数的所有位是否都是一(1)

Solution: We can use bitwise operator here to solve the problem.

解决方案:我们可以在这里使用按位运算符来解决问题。

Pre-requisite: Input number n

前提条件 :输入数字n

Algorithm:

算法:

1)  Do Bitwise AND with n and 1. 
n & 1
let n be a7a6a5a4a3a2a1a0
1->00000001
So doing bitwise AND (refer to published article on bitwise operators) 
will result in all bits 0 except the LSB which will be a0. 
If a0 is 0 then the all bits are not set
Thus,
IF
n & 1 ==0
Print that all bits are not same
ELSE
Right shift n by 1
n=n>>1
END IF-ELSE
2)  IF n==0
Print that all bits are set
ELSE
REPEAT step 1

Example with Explanation:

解释示例:

Checking for 12
12-> 00001100
So first iteration:
n=12 //00001100
n & 1 ==0 
so print that all bits are not set
Checking for 7
7->00000111
So first iteration:
n=7 //00000111
n & 1 =1
n=n>>1 (n=3) //00000011
So second iteration:
n=3 //00000011
n & 1 =1
n=n>>1 (n=1) //00000001
So third iteration:
n=1 //00000001
n & 1 =1
n=n>>1 (n=0) //00000000
So, All bits are set

C implementation

C实现

#include <stdio.h>
int main()
{
unsigned int n;
printf("enter the integer\n");
scanf("%d",&n);
while(n>0){
int temp=n&1;
if(temp == 0){ //if any bit not set
printf("all bits are not set\n");
return 0;
}
n=n>>1; //right shift operator
}
printf("all bits are set ");
printf("in its binary representation\n");
return 0;
}

Output

输出量

First run:
enter the integer
12
all bits are not set
Second run:
enter the integer
7
all bits are set in its binary representation

翻译自: https://www.includehelp.com/c-programs/check-if-all-the-bits-of-a-given-integer-is-one-1.aspx

c语言给定一个非空整数数组

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/545956.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记一次蚂蚁金服面试被虐经历

本文来自作者投稿&#xff0c;原作者&#xff1a;yes面试前的小姐姐来说说前不久蚂蚁金服一面的情况。说来也是巧合&#xff0c;当时在群里有位蚂蚁金服的小姐姐发了个内推&#xff0c;看了下JD感觉可以试试于是就私聊了小姐姐发简历内推了。我16年也就是大三上就开始实习了&am…

本地连接和音量图标显示

一种&#xff1a;“控制面板”——“声音和音频设备”——“将音量图标放入任务栏”曾经手动关掉了。只要打开就行了。 第二种&#xff1a;“将音量图标放入任务栏”打勾&#xff0c;无效。丢失sndvol32.exe&#xff0c;文件路径C:\WINDOWS\system32&#xff0c;可以在别的机子…

用python + openpyxl处理excel(07+)文档 + 一些中文处理的技巧

2019独角兽企业重金招聘Python工程师标准>>> 寻觅工具 确定任务之后第一步就是找个趁手的库来干活。 Python Excel上列出了xlrd、xlwt、xlutils这几个包&#xff0c;但是 它们都比较老&#xff0c;xlwt甚至不支持07版以后的excel它们的文档不太友好&#xff0c;都可…

Spring Boot 2.3.3 正式发布!

Spring Boot 2.3.3 稳定版已发布&#xff0c;可从 repo.spring.io 和 Maven Central 获取。<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.3.RELEASE</versio…

木板最优切割利润最大_最多进行K笔交易的股票最大买卖利润

木板最优切割利润最大This is a very popular interview problem to find maximum profit in stock buying and selling with at most K transactions. This problem has been featured in the interview rounds of Amazon. 这是一个非常受欢迎的面试问题&#xff0c;目的是在最…

禁止访问磁盘的注册表

百度的了一个禁止访问磁盘的注册表问题怎么禁止访问磁盘&#xff0c;手动操作就会&#xff0c;可是有好几十台啊。手动搞&#xff0c;那个累啊。求个高手&#xff0c;帮我弄个注册表或者BAT文件执行都可以&#xff0c;禁止访问D盘跟E盘。网上找了很多资料&#xff0c;都叫用工具…

C语言文本文件与二进制文件转换

本程序要自己创建个文本格式的输入文件a1.txt&#xff0c;编译后能将文本文件前255字节以内的字符转换成相应的AscII码值的二进制表示&#xff0c;并存入输出文件a2.txt中。然后再将二进制文件还原并存入a3.txt文件。实现文件之间的转换。 具体代码如下&#xff1a; #include …

[数据库]Oracle和mysql中的分页总结

Mysql中的分页物理分页•在sql查询时&#xff0c;从数据库只检索分页需要的数据•通常不同的数据库有着不同的物理分页语句•mysql物理分页&#xff0c;采用limit关键字•例如&#xff1a;检索11-20条 select * from user limit 10,10 ;* 每次只查询10条记录.当点击下一页的时候…

List 集合去重的 3 种方法

问题由来在实际开发的时候&#xff0c;我们经常会碰到这么一个困难&#xff1a;一个集合容器里面有很多重复的对象&#xff0c;里面的对象没有主键&#xff0c;但是根据业务的需求&#xff0c;实际上我们需要根据条件筛选出没有重复的对象。比较暴力的方法&#xff0c;就是根据…

c printf 段错误_错误:预期声明在C中的printf之前指定

c printf 段错误The main cause of this error is - missing opening curly brace ({), before the printf() function. 导致此错误的主要原因是-在printf()函数之前缺少打开的花括号( { )。 Example: 例&#xff1a; #include <stdio.h>int main(void)printf("He…

常用的60招电脑操作

1、如果同时有多个窗口打开&#xff0c;想要关闭的话&#xff0c;可以按住shift不放然后点击窗口右上角的关闭图标。2、在保存网页前&#xff0c;可以按一下"ESC"键(或脱机工作)再保存&#xff0c;这样保存很快 3、用电脑听CD可以不用任何的播放软件&#xff0c;把音…

C语言入门——排序

排序的方法有很多种比较常见的便为&#xff1a;冒泡排序、选择排序、插入排序、快速排序。 今天我们就围绕着四种排序来说&#xff0c;如果有兴趣的话可以去查找一下其他排序。 在排序这方面我们主要讨论&#xff1a; 稳定&#xff1a;如果a原本在b前面&#xff0c;而ab&…

【转】eclipse技巧1

2019独角兽企业重金招聘Python工程师标准>>> 俗话说的好啊&#xff0c;“工于利启事&#xff0c;必先善其器”&#xff0c;如果说你的编程功底是一个枪法的话&#xff0c;那么强大的eclipse就是android战士们最好的武器。 这里&#xff0c;我们来总结eclipse的使用技…

Java LinkedList公共int indexOf(Object o)方法(带示例)

LinkedList公共int indexOf(Object o)方法 (LinkedList public int indexOf(Object o) method) This method is available in package java.util.LinkedList.indexOf(Object o). 软件包java.util.LinkedList.indexOf(Object o)中提供了此方法。 This method is used to return …

定时任务最简单的3种实现方法(超好用)

这是我的第 86 篇原创文章作者 | 王磊来源 | Java中文社群&#xff08;ID&#xff1a;javacn666&#xff09;转载请联系授权&#xff08;微信ID&#xff1a;GG_Stone&#xff09;定时任务在实际的开发中特别常见&#xff0c;比如电商平台 30 分钟后自动取消未支付的订单&#x…

C语言入门基础——Brute-Force算法

Brute-Force算法的基本思想是&#xff1a; 1) 从目标串s 的第一个字符起和模式串t的第一个字符进行比较&#xff0c;若相等&#xff0c;则继续逐个比较后续字符&#xff0c;否则从串s 的第二个字符起再重新和串t进行比较。 2) 依此类推&#xff0c;直至串t 中的每个字符依次和…

MFC:2个重载中没有一个可以转换所有参数类型

MFC:2个重载中没有一个可以转换所有参数类型用VS2008&#xff0c;在使用AfxMessageBox函数的时候出现以上错误&#xff0c;代码如下&#xff1a;AfxMessageBox("Here is the information!",MB_ICONINFORMATION);解决办法一&#xff1a;一、 AfxMessageBox(_T("H…

SQL随机生成6位数字

SELECT RIGHT(100000000 CONVERT(bigint, ABS(CHECKSUM(NEWID()))), 6)

为什么劝你放弃Maven?看看Gradle的这些优点就知道了

相信使用Java的同学都用过Maven&#xff0c;这是一个非常经典好用的项目构建工具。但是如果你经常使用Maven&#xff0c;可能会发现Maven有一些地方用的让人不太舒服&#xff1a;Maven的配置文件是XML格式的&#xff0c;假如你的项目依赖的包比较多&#xff0c;那么XML文件就会…

解决问题手册(QT+C++ )

目录前言QTQT介绍QMutexLockerQTimer与事件循环C介绍工作日记介绍2022前言 刚刚参加工作&#xff0c;感觉自己不懂的地方很多。所以我希望做一篇长时间的文章分享&#xff0c;把我工作中遇到的问题还有解决问题的思路都记下来。时间长了它是不是就变成了一本解决问题手册&…