c语言位运算问题(简单)

运用位运算,能将八进制数012500除以4,然后赋给变量a的表达式是,我不要答案,要过程

按位左移一位就是扩大二倍,相应的,按位右移一位就是缩小二倍。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-01-30
a = 012500 >> 2

c语言位运算问题?
c语言位运算问题解答:要解答这个问题我们先来看一个例子,代码如下图一,图中右边是问题中得到代码,左边是这段代码的汇编指令。两种情况的不同点详细说明如下:第一种情况:printf("%d",2>>64);由图中的汇编代码可以看出,如果两个数都是常数的情况下,代码中是不含对应的汇编指令的,因为编译器...

c语言的位运算疑惑
1:040 是八进制的表示。换成十进制是 4*8+0*1=32 2:ASCII编码表中 32表示的是空格符号。 char中寸的是ASCII编码,所以是32 3:位移运算:>>表示右移位 我以8为例。8的二进制是1000, 8>>1对应的二进制形式就是1000——0100看到变化了没有。所以右移位相当于这个数除2 左移位你看看 010...

c语言中,如何实现位运算?
c语言:取整型变量x中的第p位开始的n个bit位,可以采用位运算的方法。先向左移位,丢弃前面不需要的位,再通过向后移位,丢弃后面不需要的位,最后再向左移位到原来的位置,就可以了。1\/\/num&(num-1)=(1111)&(1110)=(1110)2\/\/num&(num-1)=(1110)&(1101)=(1100)3\/\/num&(num-1)=(11...

c语言位运算问题9 |5为什么等于13如下图
c 可以把输入的数字按照ASCII码相应转换为对应的字符;d 接受整数值并将它表示为有符号的十进制整数;2d 那个数字2,用于控制显示数值的宽度,不够以空格填充;9|5表达式 | 是位或运算符,运算规则如下:1|1=1;0|1=1;1|0=1;0|0=0;9的二进制形式: 00001001 5的二进制形式...

C语言问题,在位运算中,操作数每右移一位,其结果相当于什么?若左移1位...
1、右移,除以2右移n位除以2的n次方;右移的概念和左移相反,就是往右边挪动若干位,运算符是>>;右移对符号位的处理和左移不同,对于有符号整数来说,比如int类型,右移会保持符号位不变,例如:inti=0x80000000;i=i>>1;\/\/i的值不会变成0x40000000,而会变成0xc0000000 2、左移,乘以2...

C语言位运算题目
一、位运算符c语言提供了六种位运算符:&按位与 |按位或 ^按位异或 ~取反 <<左移 >>右移 1.按位与运算按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。例如:9&5可写算式...

C语言中位运算符问题 这句话怎么解释啊
这句话的理解有这样一个基础,那就是右移n位相当于除以2的n次方,而这个基础就是对于无符号数来说的。比如无符号数8,如果用8位二进制表示,就是二进制的0000 1000,右移0位,也就是不移动,等于8,就等于8除以1,也就是8除以2的0次方;右移1位,0000 0100 ,等于4,就等于8除以2,也...

下面有一些关于C语言问题,希望大伙儿侃侃,最好解释详细,谢谢呢?_百度...
这是一道位运算,a&0377等同于011&011111111的运算,这两个与一下值为011,也就是3 第二题:11 这也是位运算,先把3,10,15化为二进制,依次为:011,1010,1111.a|b&c先运行b&c得到1010,再跟a或运算(一位一位或)得到1011,也就是11.第三题: D) h\/2*(a+B)h\/2等于1,而代数中等于1.5.这...

c语言位运算 求1个整数的二进制数有多少个1
\\n",n,solve(n)); return 0;}第一种方法:简单的运算一个整数中二进制中1的个数,位运算用了&和>>符号,即与和右移。时间复杂度为log2(n)。include<stdio.h>int solve(int n){ int ans=0; while(n) ans++,n&=(n-1); return ans;}int main(){ int n; ...

C语言位运算取反问题?
首先你输出是肯定用的 printf("%d",~a).int类型数据是有范围的 -32768~32767 [100]原=0000 0000 0110 0100 取反后为1111 1111 1001 1011 这个数值已远远超出了范围,发生溢出.但是这个数值是-101的补码,而计算机数字都是按补码存储的,所以他输出了-101.你放成ld,数值又不同....

相似回答