c语言~991|4等于多少,复习C语言9-helloworld3000-ChinaUnix博客

关于位操作

1. 不使用中间变量,交换a、b的值。

如使用:a = a + b; b = a - b; a = a - b;则当a、b都比较大时,a+b的值可能会溢出。而采用下述方法则没有溢出越界的问题:

a = a ^ b;

b = a ^ b;

a = a ^ b;

证明其实很简单,只要熟悉二进制运算就很容易了。令c=a^b,b(new)=c^b=a^b^b=a,a(new)=c^b(new)=a^b^a=b。

2. 计算一个整数对应二进制数中1的个数:

int num_of_1(int m)

{

int cnt =0;

while(m)

{

cnt++;

m = m&(m-1);

}

return cnt;

}

注:

(1)参数用int和unsigned int区别不是很大。

(2)m&(m-1)是消掉m最右面的一个1。

(3)一句话判断k是不是2的幂:if(!(k & (k-1)))

附加:

const UINT32 m1 = 0x55555555;

const UINT32 m2 = 0x33333333;

const UINT32 m4 = 0x0f0f0f0f;

const UINT32 m8 = 0x00ff00ff;

const UINT32 m16 = 0x0000ffff;

int count_1(UINT32 x)

{

x = (x & m1) + ((x >> 1) & m1);

x = (x & m2) + ((x >> 2) & m2);

x = (x & m4) + ((x >> 4) & m4);

x = (x & m8) + ((x >> 8) & m8);

x = (x & m16) + ((x >> 16) & m16);

return x;

}

3. 翻转一个字节

unsigned char reverse8 (unsigned char c)

{

c = (c & 0x55) << 1 | (c & 0xAA) >> 1;

c = (c & 0x33) << 2 | (c & 0xCC) >> 2;

c = (c & 0x0F) << 4 | (c & 0xF0) >> 4;

return c;

}

4. 如果一个字节的每一位代表一个状态,那么len个状态需要多少个字节

((len - 1) >> 3) + 1 /*len > 0*/

5. 如果字节数组的每一位代表一个状态,返回第i个状态(0,非0)

int ret_i_state(unsigned char * array, int i)

{

return array[i/8] & (1 << (i % 8));

}

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

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

相关文章

python音乐下载器交互界面_基于Python实现下载网易音乐代码实例

代码如下 # 爬取网易音乐 import requests from bs4 import BeautifulSoup import urllib.request headers {"origin": "https://music.163.com", "referer": "https://music.163.com/", "user-agent": "Mozilla/5.0 …

2020年度工作计划_2020最新年度个人工作计划(精选3篇)

时间稍纵即逝&#xff0c;前方等待着我们的是新的机遇和挑战&#xff0c;不妨坐下来好好写写工作计划吧。工作计划怎么写才能发挥它最大的作用呢&#xff1f;下面是小编为大家整理的2020最新年度个人工作计划(精选3篇)&#xff0c;希望能够帮助到大家。年度个人工作计划1转眼间…

c语言中把各位上为奇数的数取出,下列给定程序中函数fun()的功能是:将长整型数中每一位上为奇数的数依次取出,构成一个新数放在冲。 - 赏学吧...

下列给定程序中函数fun()的功能是&#xff1a;将长整型数中每一位上为奇数的数依次取出&#xff0c;构成一个新数放在冲。高位仍在高位&#xff0c;低位仍在低位。例如当s中的数为87653142时&#xff0c;t中的数为7531。请改正函数fun()中的错误&#xff0c;使它能得出正确的结…

java 格式化字符串_Java入门 - 语言基础 - 14.String类

1.概述字符串广泛应用 在 Java 编程中&#xff0c;在 Java 中字符串属于对象&#xff0c;Java 提供了 String 类来创建和操作字符串。2.创建字符串创建字符串最简单的方式如下:String greeting "光束云";在代码中遇到字符串常量时&#xff0c;这里的值是 "光束…

c语言按照姓名查询员工信息,输入10个职工信息,按号码大小排序,再使用查找函数找职工的姓…...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include#include //主函数int main(){int sort(int num[10],char name[10][10],int n);int survey(int num[10]);int num[10];int n10;char name[10][10];int i;for(i0;i<9;i){printf("请输入第%d个职工的工号\n",i1…

decimal是什么类型_SQLMysql数据类型

一 前言每个数据库的数据类型从来都不是一个简单的数据结构&#xff0c;特别是使用不同的数据库&#xff0c;不同的引擎&#xff0c;其支持的数据类型也不一样&#xff0c;选择那种数据类型作为字段类型对数据库的性能也是天差地别&#xff0c;故对数据类型有个全面的认知&…

python 栈和队列_python 栈和队列的基本实现

python中的列表结构可以用来实现栈和队列。 【栈】&#xff1a; 栈是一种数据结构&#xff0c;具有先入后出的特点&#xff0c;并且栈的所有操作只能在某一端进行&#xff0c;能进行操作的一端的第一个元素称为栈顶&#xff0c;另一端的第一个元素称为栈底 栈的五种基本方法&am…

e480win7显卡驱动_e480安装了windows7显卡驱动装不上

展开全部一、显卡驱动程序启用驱动程序签名功能启用驱动程序签名功能是成功安装显卡驱动的第e68a84e8a2ad3231313335323631343130323136353331333433663031一步&#xff0c;因为只有启动了驱动程序签名&#xff0c;才能阻止系统的自动安装驱动程序功能&#xff0c;才可以抢在系…

android oat如何提取dex文件字节码,Android: 使用oatdump反编译oat文件

网上经常看到有通过apktool将apk中的dex反编译成smali格式的文件&#xff0c;以便分析功能实现与破—解&#xff0c;确没怎么看到oat文件反通过oatdump反编译的&#xff0c;所以就写了一篇这样的文档。声明一下oat文件也是可以反编译的。本来想着通过oatdump处理之后&#xff0…

mybatis依赖_Spring Boot2 系列教程(二十一)整合 MyBatis

前面两篇文章和读者聊了 Spring Boot 中最简单的数据持久化方案 JdbcTemplate&#xff0c;JdbcTemplate 虽然简单&#xff0c;但是用的并不多&#xff0c;因为它没有 MyBatis 方便&#xff0c;在 SpringSpringMVC 中整合 MyBatis 步骤还是有点复杂的&#xff0c;要配置多个 Bea…

android获取图片格式,Android得到图片的真实格式——从本地文件或者网络文件流...

ImageFormatFeatures支持从InputStream或者File解析四种格式&#xff1a;jpg 、 png 、 webp 、 gif从文件本身解析格式&#xff0c;而不是从扩展名获取FormatHelper.getFormat(InputStream inputStream)FormatHelper.getFormat(File file)UsageStep 1Step 2解析格式String For…

python中setup函数的用法_python学习之setUp函数和tearDown函数

1,setUp():就是在一个类中最先被调用的函数,每次执行一个函数都要先执行这个函数,有几个函数就被调用几次,与放的位置无关,随便放到哪里都会先执行这个函数 2,tearDown():就是在一个类中最后被调用的函数,每个函数执行之后都会执行一次,与放的位置无关,随便放到哪里…

pagehelper的使用_SpringBoot项目中,如何更规范的使用PageHelper分页?

SpringBoot项目中&#xff0c;如何更规范的使用PageHelper分页&#xff0c;拉勾IT课小编为大家分解一. 开发准备1. 开发工具• IntelliJ IDEA 2020.2.32. 开发环境• Red Hat Open JDK 8u256• Apache Maven 3.6.33. 开发依赖SpringBoot<dependency><groupId>org.s…

2-路插入排序c语言算法,浅谈2路插入排序算法及其简单实现

2路插入排序算法是在直接插入排序算法的基础上增加了一个辅助数组&#xff0c;其目的是减少排序过程中的移动次数&#xff0c;需要增加n个记录的辅助空间。难点可能在于对取余的考虑吧&#xff0c;可以把辅助数组看成一个环状空间&#xff0c;这样就能更好的理解辅助空间中最大…

mysql安装被打断_Mysql的安装/性能优化/安全加固

aa安装&#xff1a;增加一个登录用户和群组#groupaddmysql#useradd -r -g mysql mysql解压缩Mysql数据包#tar-zxvf mysql-5.6.13.tar.gz进入Mysql解压缩目录#cd mysql-5.6.13配置安装mysql#cmake.#make &&make install建立配置文件#cp./support-files/my-medium.cnf/et…

python自动输入账号密码_Python如何基于selenium实现自动登录博客园

这篇文章主要介绍了Python如何基于selenium实现自动登录博客园,文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 需要做的准备&#xff1a; 本文章是使用Chrome&#xff0c;所以需要Chormedriver.exe&#xff0c;…

安卓软件错误log_Android编程实现捕获程序异常退出时的错误log信息功能详解

本文实例讲述了Android编程实现捕获程序异常退出时的错误log信息功能。分享给大家供大家参考&#xff0c;具体如下&#xff1a;很多时候我们程序无缘无故的就挂掉了&#xff0c;让我们一头雾水&#xff0c;如果刚好我们在调试&#xff0c;那我们可以通过错误log来查看是什么原因…

android 模拟长按菜单键_如何采用PLC梯形图实现单键启动程序

“PLC是一种专门为在工业环境下应用而设计的数字运算操作的电子装置。它采用可以编制程序的存储器&#xff0c;用来在其内部存储执行逻辑运算、顺序运算、计时、计数和算术运算等操作的指令&#xff0c;并能通过数字式或模拟式的输入和输出&#xff0c;控制各种类型的机械或生产…

android 日期对话框,Android日期选择器对话框DatePickerDialog使用详解

调用Android原生日期选择器对话框就是DatePickerDialog&#xff0c;具体内容如下在Android4.4系统上效果如图&#xff1a;在Android5.0以上效果如图&#xff1a;1、Activity的onCreate方法中获取当时的年&#xff0c;月&#xff0c;日Calendar ca Calendar.getInstance();mYea…

c#endread怎么打印出来_NetworkStream.EndRead(IAsyncResult) 方法 (System.Net.Sockets) | Microsoft Docs...

处理异步读取的结束。Handles the end of an asynchronous read.public:override int EndRead(IAsyncResult ^ asyncResult);public override int EndRead (IAsyncResult asyncResult);override this.EndRead : IAsyncResult -> intPublic Overrides Function EndRead (asyn…