c语言~~~~~~~~~~~~~~~~~~~~~~~~~~

来源:百度知道 编辑:UC知道 时间:2024/06/15 08:45:20
【程序51】
题目:学习使用按位与 & 。
1.程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1
2.程序源代码:
#include "stdio.h"
main()
{
int a,b;
a=077;
b=a&3;
printf("\40: The a & b(decimal) is %d \n",b);
b&=7;
printf("\40: The a & b(decimal) is %d \n",b);
}
==============================================================
【程序52】
题目:学习使用按位或 | 。
1.程序分析:0|0=0; 0|1=1; 1|0=1; 1|1=1
2.程序源代码:
#include "stdio.h"
main()
{
int a,b;
a=077;
b=a|3;
printf("\40: The a & b(decimal) is %d \n",b);
b|=7;
printf("\40: The a & b(decimal) is %d \n",b);
}
==============================================================
【程序53】
题目:学习使用按位异或 ^ 。
1.程序分析:0^0=0; 0^1=1; 1^0=1; 1^1=0
2.程序源代码:
#include "stdio.h"
main()
{
int a,b;
a=077;
b=a^3;
print

|&^z这三个的作用,在你的提问你就有最好的答案了哦!
按位与 & :0&0=0; 0&1=0; 1&0=0; 1&1=1
按位或 | :0|0=0; 0|1=1; 1|0=1; 1|1=1
按位异或 ^ :0^0=0; 0^1=1; 1^0=1; 1^1=0
现在我回答你对输出不理解:
a=077,你知道这是八进制数吗?其转化为二进制数为a=111111;
3转化为二进制就是000011;这样b=a&3就是
111111
& 000011
---------
000011 转化为十进制数结果就是3了,答案是输出%d为十进制数 这就是那答案怎么来的
这样能理解吗?
另外,告诉你关于十进制、八进制、十六进制的输出模式:
int x=023;/*八进制数*/
printf("%d,%0,%x\n",x,x,x);/*输出答案为19,23,13*/
printf("%d,%#0,%#x\n",x,x,x);/*输出答案19,023,0x23*/
%d,%#0,%#x分别是十进制、八进制、十六进制的输出形式
计算机中,非0开头的数字都为十进制,以0x开头的为十六进制,八进制则以0开头 关于进制在计算机中的表示方法 你可以在书上多看些例子,更有助于你掌握

转化成二进制 进行每位与、或、异或的运算