c语言中 (n & 1)什么意思啊
#include<stdio.h>voidTtoB(intn){if(n){TtoB(n>>1);printf("%d",n&1);//n&1什么意思啊?}}intmai...
#include <stdio.h>
void TtoB(int n)
{
if (n)
{
TtoB(n >> 1);
printf("%d", n & 1);//n&1什么意思啊?
}
}
int main(void)
{
int n;
while (scanf("%d", &n) != EOF)
{
TtoB(n);
putchar('\n');
}
return 0;
} 展开
void TtoB(int n)
{
if (n)
{
TtoB(n >> 1);
printf("%d", n & 1);//n&1什么意思啊?
}
}
int main(void)
{
int n;
while (scanf("%d", &n) != EOF)
{
TtoB(n);
putchar('\n');
}
return 0;
} 展开
16个回答
展开全部
这应该是一段控制输出信息的字符控制信息。 使用%1f不明显,直接看示例。
#include<stdio.h>
int main()
{
float f= 1.1f;
printf("f=%f\n", f);
printf("f=%10f\n", f);
return 0;
}
程序执行效果:
说明:%1f或者%10f,里面的数字指的是最小域宽限定符,简单的说即数值输出后要有多少个字符。 %1f保证输出的数至少有1个字符位 ,%10f表示输出的数至少是10位,如果不够10个字符,默认填充的是空格,程序员可以自己设置用什么填充。比如下面的代码当输出的字符不够10个时用0进行填充:
#include<stdio.h>
int main()
{
float f= 1.1f;
printf("f=%f\n", f);
printf("f=%010f\n", f);
return 0;
}
展开全部
是相与的意思。算术"与"操作。“&&”这是逻辑“与”操作。基本操作有
0&1=0;
1&1=1;
0&0=0;
这一题中无论n的值是多少。只要它二进制的最后一位是0。结果就是0;如果是其最后一位是1结果就是1。
回答楼主这样的题目,挺没劲的。。别事事问知道,您不能多看看书啊??这样学的更快啊。
0&1=0;
1&1=1;
0&0=0;
这一题中无论n的值是多少。只要它二进制的最后一位是0。结果就是0;如果是其最后一位是1结果就是1。
回答楼主这样的题目,挺没劲的。。别事事问知道,您不能多看看书啊??这样学的更快啊。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先,a&b表示,a和b在计算机中存储的对应二进制码按位取与:
例如:
a的二进制码为:0111,b的二进制码为:0011时:
0111
& 0011
= 0011
对应十进制形式为:7&3=3;
同理:因为1的对应存储的二进制码除了最低位,其他位都是0,所以,n&1要么为1(n为奇数时,n的最低位为1),要么为0(n为偶数时,n的最低位为0)。
综上可得:n&1等效于 n%2==1
例如:
a的二进制码为:0111,b的二进制码为:0011时:
0111
& 0011
= 0011
对应十进制形式为:7&3=3;
同理:因为1的对应存储的二进制码除了最低位,其他位都是0,所以,n&1要么为1(n为奇数时,n的最低位为1),要么为0(n为偶数时,n的最低位为0)。
综上可得:n&1等效于 n%2==1
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个是让n和1做位与运算,假设你的n是0x0002,二进制就是0000000000000010,那么1是0x0001,二进制就是0000000000000001,两个做位运算后就是0,每个位和每个位要做位与运算
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个是问号运算符。问号运算符是三目运算符,格式:
表达式1?表达式2:表达式3;
如果表达式1成立,则执行表达式2,否则执行表达式3
对于本题,(n)?(c++):(c--);的意思是如果n不等于0,那么执行c++,就是c自增1,如果n等于0,那么执行c--,就是c自减1
表达式1?表达式2:表达式3;
如果表达式1成立,则执行表达式2,否则执行表达式3
对于本题,(n)?(c++):(c--);的意思是如果n不等于0,那么执行c++,就是c自增1,如果n等于0,那么执行c--,就是c自减1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询