c中“>>”与“&”运算符

在c中位运算符有:与、 或、异或、取反、左移和右移,位运算符是以二进制进行运算的。
       右移运算符,是将一个数的各二进制位右移动n位,移到右端的低位被舍弃,对于无符号数,高位补0,即在十进制中,每右移动一位等价于除以2,例如:
   
   a:10101010 01010101   a>>2:00101010 10010101。
   
   对于有符号数,某些机器将对左边空出的部分用符号位填补但一些机器则对左边空出的部分用0填补。例如:
   
   a:11100111 00011101 a>>1:01110011 10001110或11110011 10001110。
   
  c中源代码:

写出15转化为二进制后1的个数。

#include<stdio.h>

int main()

{

int a=15;

int count=0;

while(a)

{

if(a%2==1)

count++;

a=a>>1;}

printf("%d",count);

return 0;

}

结果为:4

与运算符:按位与运算符&经常用于屏蔽某些二进制位。例如:

a:1001 0111  b:1111 0000    a&b:1001 0000

c程序

输入一个数转化为二进制后1的个数。

#include<stdio.h>

int main()

{

int count=0;

int num;

scanf("%d",&num);

while(num)

{

count++;

num=num&(num-1);

}

printf("%d\n",count);

return 0;

}

结果:4

c中“>>”与“&”运算符

时间: 2024-10-20 16:31:36

c中“>>”与“&”运算符的相关文章

JS中的运算符&amp;JS中的分支结构

一.JS中的运算符 1.算术运算(单目运算符) + 加.- 减.* 乘./ 除.% 取余.++ 自增.-- 自减 >>> +:有两种作用,连接字符串/加法运算.当+两边全为数字时,进行加法运算: 当+两边有任意一边为字符串时,起连接字符串的作用,连接之后的结果为字符串 除+外,其余符号运算时,会先尝试将左右变量用Number函数转为数字 >>> /: 结果会保留小数点 >>> ++: 自增运算符,将变量在原有基础上+1: --: 自减运算符,将变量在原

Python中的运算符

如果工作中没有计算器,可以直接使用Python作为Calculator来使用.下面介绍Python中的运算符. + 加运算符,如果'+'两边都是数字,进行加法运算.如果两边都是字符串类型,进行连接操作.如果一边是数字,一边是字符串,则会报错. TypeError: unsupported operand type(s) for +: 'int' and 'str'. -  减运算符,进行减法运算. * 乘运算法,进行乘法运算. /  除运算法,进行除法运算.Python中的除法运算符解决了  1

C#中的运算符重载

C# 允许用户自定义类型通过使用 operator 关键字定义静态成员函数来重载运算符. 注意: 必须用public修饰,必须是类的静态的方法. 重载相等运算符(==)时,还必须重载不相等运算(!=). < 和 > 运算符以及 <= 和 >= 运算符也必须成对重载. 可以重载的运算符: 可以重载的一元运算符:+.-.!.~.++.--.true 和 false 可以重载的二进制运算符:+, -, *, /, %, &, |, ^, <<, >> 可以

JavaScript中“typeof”运算符与“instanceof”运算符的差异

在JavaScript中,运算符“typeof”和“instanceof”都可以用来判断数据的类型,那么这两个运算符有什么不同之处呢? 差异一:使用方式不同. 最明显的差异就是这两个运算符的使用方式了.“typeof”是一元运算符,其后直接跟需要进行类型判断的数据:而“instanceof”是二元运算符,其左侧是需要判断的数据,右侧是用于比较的类型. //typeof是一元运算符: var amount = 108; console.log(typeof amout);//控制台输出“numbe

js中的运算符和条件语句

js中的运算符大体上可以分为4类:1算术运算符.2一元操作符.3比较运算符.4逻辑运算符. 算术运算符一般指的是加减乘除求余这五种操作符:+,-,*,/,%.通过算术运算符可以对js中的变量进行操作.如: var a=100,b,c,d,e,f; b= a+10; //110 c=a-10; //90 d=a*10; //1000 e=a/10; //10 f=a%3; //1 一元操作符指的是只能操作一个值的操作符:如i++,i--,++i,--i;在这里要注意区别i++与++i: var a

第九周项目1-复数类中的运算符重载(续)

在复数类中的运算符重载基础上 (1)再定义一目运算符 -,-c相当于0-c. (2)定义Complex类中的<<和>>运算符的重载,实现输入和输出,改造原程序中对运算结果显示方式,使程序读起来更自然. /* * Copyright (c) 2015,烟台大学计算机学院 * All right reserved. * 作者:邵帅 * 文件:Demo.cpp * 完成时间:2015年05月14日 * 版本号:v1.0 */ #include <iostream> using

第九周项目2-Time类中的运算符重载(续)

在Time类中的运算符重载基础上 (1)定义对时间对象的自增和自减一目运算符 (2)定义Time类中的<<和>>运算符重载,实现时间的输入输出,改造原程序中对运算结果显示方式,使程序读起来更自然. /* * Copyright (c) 2015,烟台大学计算机学院 * All right reserved. * 作者:邵帅 * 文件:Demo.cpp * 完成时间:2015年05月14日 * 版本号:v1.0 */ #include <iostream> using n

第九周项目3-分数类中的运算符重载(续)

在分数类中的运算符重载基础上 (1)定义分数的一目运算+和-,分别代表分数取正和求反,将"按位取反运算符"~重载为分数的求倒数运算. (2)定义分数类中<<和>>运算符重载,实现分数的输入输出,改造原程序中对运算结果显示方式,使程序读起来更自然. /* * Copyright (c) 2015,烟台大学计算机学院 * All right reserved. * 作者:邵帅 * 文件:Demo.cpp * 完成时间:2015年05月14日 * 版本号:v1.0 *

第八周项目3-分数类中的运算符重载

实现分数类中的运算符重载,在分数类中可以完成分数的加减乘除(运算后再化简).比较(6种关系)的运算.可以在第4周分数类代码的基础上开始工作. /* * Copyright (c) 2015,烟台大学计算机学院 * All right reserved. * 作者:邵帅 * 文件:Demo.cpp * 完成时间:2015年04月29日 * 版本号:v1.0 */ #include <iostream> using namespace std; class CFraction { private: