关于c语言按位运算符

作者&投稿:其诗 (若有异议请与网页底部的电邮联系)
C语言中按位与(&)运算符是什么意思~

是将二进制数按照位的对应相与,得到一个新的二进制数。1与0为0;1与1为1;0与0为0。
分析如下:
就是二进制的每一位相与。
比如:1010 0011& 0000 1111,结果为0000 0011。也就是与上0相当于把那位数清0,与上1相当于把那位保留。

扩展资料:
1、按位与运算符"&"是双目运算符。 其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。
例如:9&5可写算式如下: 00001001 (9的二进制补码)&00000101 (5的二进制补码) 00000001 (1的二进制补码)可见9&5=1。 按位与运算通常用来对某些位清0或保留某些位。例如把a 的高八位清 0 , 保留低八位, 可作 a&255 运算 ( 255 的二进制数为11111111)。
参考资料:百度百科:位运算符

&&是逻辑与,计算机的逻辑无非两种,0和非0,7和8都是非0,那么7&&8就是非0,也就是真了。
&是位操作,即按两个操作数的二进制每一位进行与运算
7的二进制:00000111
8的二进制:00001000
与运算后为:00000000,结果就是假了

&符号是按位运算,即与运算,
0&1 = 0
1&1 = 1

这样的题目可以把original = 0xABC 十六进制化为二进制 即 1010 1011 1100

mask =0xF 也是十六进制转为二进制 即 1111
所以result |= original & mask 可以转换为 result = result | ( original & mask ) ;

因为original & mask = 1100
而 result | ( 1100 ) = 1100

所以答案就是1100 即 C(十六进制)

一个字节有 8位 也就是有一个8位的2进制数,比如 0000 0001 表示的是1 ,0111 1111 表示127,而位运算 实际就是 2进制的运算 & 按位与 比如 3&7 意思是 0000 0011位与 0000 0111,结果是 3也就是0000 0011。意思是如果2个数字同一为一,有0为0。
| 按位或 比如 3|7 意思是 0000 0011位或 0000 0111, 结果是 7也就是0000 0111.意思是2个数字对比有一为一,同0为0.
^ 按位异或 比如 3^7 结果就是4 0000 0100, 就是说 2个数 每一位数字不同则为1相同则为 0
~ 取反 这个意思是 把每一位上的数字取反 为0则变为1 为1则变为0 如 ~3。
<< 左移 表示把这个数字整体 向左移动多少位 如 1<<2,表示把1向左移动2位 也就是说把 0000 0001 向左移动2位 就是 0000 0100. 也就是说1变成了100。
>> 右移 就是把这个数的 末尾多少位 去掉 如 17>>3 表示 0001 0001 的最后3位去掉 就变成了 0000 0010
这样可以么?

0结果是0xC
先算 original & mask 因为 mask为0xF 那么 0xABC & 0xF =0xC

0 或任何数都是任何数 所以reslut =0xC


按位运算作用是什么
按位运算符的作用就是直接对整数在内存中的二进制位进行操作。将一个地址和一个10H进行按位,具体要看在哪一种程序语言中,以及使用哪一种类型的按位运算符。按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与...

&在c语言中什么意思
在C语言中,&有三种作用,分别如下:1、取地址。单目运算符。用来取一个变量的地址。2、位操作中的与操作运算符。也就是常说的and操作,双目运算符。计算的时候按位计算,&两边操作数对应位上全为1时,结果的该位值为1,否则该位值为0。3、当两个&&一起用的时候,表示为逻辑运算中的与运算。...

C语言中&是什么意思?a&b怎么理解?
&: 在C语言中有两种意思,一种是取地址符,是单目运算符;另一种是位运算符,表示“按位与”,是双目运算符。a&b表示啊a和b按位进行与运算。&后面是个变量。每个变量对应一块存储空间。每个存储空间有一个编号,也就是地址,&变量名 表示取出这个编,变量名表示取出这个编号所对应的存储空间里...

位运算符的C语言的六种位运算符
例如把a 的高八位清 0 , 保留低八位, 可作 a&255 运算 ( 255 的二进制数为11111111)。 main(){ inta=9,b=5,c; c=a&b; printf(a=%d\\nb=%d\\nc=%d\\n,a,b,c);} 按位或运算符“|”是双目运算符。 其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就...

C语言: 按位运算符 是。。什么意思啊。。和二进制有什么联系吗_百度知 ...
在进入本章的大型示例之前,还要先学习一组运算符,它们看起来类似于前面介绍的逻辑运算符,但实际上与逻辑运算符完全不同。这些运算符称为按位运算符,因为它们操作的是整数值中的位。按位运算符有6个,如表3-5所示。表3-5 按位运算符运 算 符 说明 & 按位与运算符 | 按位或运算符 ^ 按位异或(EOR)运算...

C语言“ &= |= ”是什么意思?
&(按位与)双目运算,功能是参与运算的两个数各对应的二进制位相与,只有对应的两个二进制位均为1时,结果为1,否则为0; |(按位或)双目运算,功能是参与运算的两个数各对应的二进制位相或,只有对应的两个二进制位有一个为1时,结果就为1。“|”表示按位或,按位或运算符“|”是双目运算...

C语言位运算里~、<<、>>、&、|、^、这些怎么用?
2. 按位或运算。按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。 例如:9|5可写算式如下: 00001001|00000101 00001101 (十进制为13)可见9|5=13 main(){ int a=9,b=5,c; c=...

c语言里2&3等于什么?
c语言里2&3等于2。按位与运算符,两个都为1的时候为为1,2的二进制为10,3的二进制为11。2 & 3 = 10 & 11 = 10 即二进制 2。以下为示例代码:在这个示例中,我们声明了两个整数变量 a 和 b,并将它们初始化为2和3。然后,我们使用 & 运算符对它们进行按位与运算,并将结果存储在 ...

C语言的逻辑运算和按位运算怎么区分?
1、作用的不同 &&、||是逻辑运算符,用于从左到右求表达式的真值。假设x=1;y=2;那么x&&y=1;x||y=1。&、|是位运算符,是对x,y进行位运算,x,y取值如上,那么有x&y=0;(x的二进制表示为00,y的二进制表示为10)。2、判断这个表达式的真或假的不同 &和|既是逻辑运算符也是位...

C语言中什么时候用 &
1、取变量地址的时候用。2、运算符,按位与运算符。&表示两种运算符。其中一种表示取值运算符,一种是按位与取值运算符。int a=1;int *p=&a; \/\/其中&a表示的就是把a中的地址取出来,然后赋给指针变量,也就是说&a表示的是变量a在内存中的地址。你可以使用printf函数输出这个地址。按位与运算...

凤冈县13997262374: C语言中“按位运算符”是什么意思? -
乾帖阿法: 1、按位运算符就是直接对整数在内存中的二进制位进行操作运算.比如,&&运算本来是一个逻辑运算符,但整数与整数之间可以用&进行运算.举个例子,6的二进制是110,11的二进制是1011,那么6 & 11的结果就是2,它是二进制对应位进行逻辑运算的结果(0表示False,1表示True,空位都当0处理).2、C语言提供了六种按位运算符:& 按位与 | 按位或 ^ 按位异或 ~ 取反<< 左移>> 右移

凤冈县13997262374: 关于c语言按位运算符 -
乾帖阿法: &符号是按位运算,即与运算,0&1 = 01&1 = 1 这样的题目可以把original = 0xABC 十六进制化为二进制 即 1010 1011 1100 mask =0xF 也是十六进制转为二进制 即 1111 所以result |= original & mask 可以转换为 result = result | ( original & mask ) ; 因为original & mask = 1100 而 result | ( 1100 ) = 1100 所以答案就是1100 即 C(十六进制)

凤冈县13997262374: C语言的按位与、或、非、异或都什么意思.有什么用 -
乾帖阿法:[答案] 位运算符有:&(按位与)、|(按位或)、^(按位异或)、~ (按位取反). 优先级从高到低,依次为~、&、^、| 按位与运算有两种典型用法,一是取一个位串信息的某几位,如以下代码截取x的最低7位:x & 0177.二是让某变量保...

凤冈县13997262374: c语言的按位运算符怎么操作!? -
乾帖阿法: 位运算 在很多系统程序中常要求在位(bit)一级进行运算或处理.C语言提供了位运算的功能, 这使得C语言也能像汇编语言一样用来编写系统程序. 一、位运算符C语言提供了六种位运算符: & 按位与 | 按位或 ^ 按位异或 ~ 取反 << 左移 >> 右...

凤冈县13997262374: 关于c语言中的按位运算符! -
乾帖阿法: 反码是二进制数据的一种表示形式,还可以用原码,补码移码表示.按位运算是一种计算方式,表示对应为相加但是不进位,希望对你有帮助

凤冈县13997262374: C语言位操作运算符 &,|,~,^,<<,>>是干什么的? -
乾帖阿法: 当然是操作位了 任何数据都是以二进制形式存储的 位操作运算符就是直接对二进制进行操作

凤冈县13997262374: C语言什么是位运算 -
乾帖阿法: C语言是为描述系统而设计的,它的第一个应用就是UNIX操作系统的设计,因此必须具有低级语言的特点.指针运算和位运算就是其代表. 我们知道,计算机中的信息以及控制信号均是以二进制码的0、1的形式存储和处理的.每一个0或1称为...

凤冈县13997262374: C语言: 按位运算符 是..什么意思啊..和二进制有什么联系吗
乾帖阿法: 一般来说位运算就是只二进制位运算,位运算符就是说它的功能是吧二进制数进行前(左)移,后(右)移等操作,比如1001011>>2就表示把前面的数右移2位,于是变成0010010(左面补零,右面的2个数11舍去).就是这个意思,希望能帮到你,有事可留言

凤冈县13997262374: 按位与运算的规则是什么? -
乾帖阿法: 1、按位或:如果两个相应的二进制位有一个为1,则该结果为1,否则为0.2、按位异或(^):如果两个相应的二进制位值不同则为1,否则为0.3、按位与(&):如果两个相应的二进制位都为1,则该位的结果值为1,否则为0.按位的各种...

凤冈县13997262374: C语言中按位运算符有什么用? -
乾帖阿法: 可以直接对硬件操作,这是它的优势之一,如果你是初学者,现在还体会不到,也碰不到

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网