C位元运算元相关问题
我想问下面这个例子中这些运算的过程
我知道这些符号代表的含意,不过我不明白这些运算元比较的过程
如:a位元左移1位,执行结果为何是30。。。
我希望能得到以下范例的过程
初学c语言,请指教,谢谢。。。
例:
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
int a,b;
a=15;
b=1;
printf("%d\n",a|b);
printf("%d\n",a&b);
printf("%d\n",a^b);
printf("%d\n",a < <1);
printf("%d\n",a>>1);
printf("%d\n",~a);
system("pause");
return 0;
}
执行结果:
15
1
14
30
7
-16
a位元左移1位 等价于 a*2 左移2位 等价于 a*4
右移1位 等价于 a/2 右移2位 等价于 a/4
楼主不清楚的话,把十进制转化为二进制,参加运算。
15=0xf=(1111)2,左移一位之后,11110,转化为十进制是30.其他类似。
谢谢,请问补数部份如何解析
a=00000000000000000000000000001111
b=00000000000000000000000000000001
(a < <1)=00000000000000000000000000011110=30
(a>>1)=00000000000000000000000000000111=7
~a =11111111111111111111111111110000(补码)
&nb
相关问答:
最近在看一个用bison实现的C parser,OS是opensolaris。当用它来解析一个简单的hello.c时,出现“/usr/include/sys/va_list.h: parse error before __gnuc_va_list”。打开文件va_list.h后发现这样一行“typedef __bu ......
#include "stdio.h"
int main()
{
char *ch(char *, char *);
char str1[]="I am glad to meet you!";
char str2[]="Welcom to study C!";
&nb ......
SHIFT加F10与那个键右ctrl边上的那个键功能一样,想屏这个
但不知要怎么写那个组合键!
有没哪个大侠放一段这个的代码或写一段
http://topic.csdn.net/u/20090609/15/7dc9fb70-243f-4070-9cfd-34e48b66e6c6.html
......
以前学过谭浩强的书,认真看过几遍,书上的题大部分自己编过,现在想进一步学习C,应该从哪方面着手呢?我准备看C与指针,大家觉得这本书怎么样?还是看其它的书?
你应该重新找《c primer plus》这本书看看。
c ......
Environment:Win7 64bit,US
Target: copy c:\windows\system32\chklogo.wtl到c:\logs 下
如果手工打开cmd,
1. cmd的title是Administrator:C:\windows\system32\cmd.exe
2. 当前工作目录c:\Users\usernam ......