2011-12-21 64 views
-3

鉴于long long int x, y;,我想要一个函数,它可以比较x & y并返回T/F标志,这是一个普通的32位int。我想这一点,但它让我感到困惑长数据类型的算术/逻辑操作

#include <stdio.h> 
int main() { 
long long n,i; 

scanf("%l64d", &n); 
i=42; 

printf("%l64d", n); 
printf("%l64d", i); 
printf("\ni<=n --> %d\n",i<=n); 
return; 

}

+0

Arthimatic?算术?关节炎?你在谈论按位还是逻辑操作? '&'是按位 – Anycorn 2011-12-21 06:47:58

+0

@Catcall对不起,我不能把我的代码,我试过。有些我感到困惑。但我并不懒惰尝试。 – kannah 2011-12-27 14:06:58

回答

1

也许你正在寻求通过这个(返回true例证/ 1或假/ 0取决于x是否大于(GT)y更大):

int ll_compare_gt(long long x, long long y) 
{ 
    return(x > y); 
} 

重复其他比较...

算术会有更多的问题 - 通常,增加两个01的结果值太大,无法放入32位int

但是,你的问题在细节上很粗略,这可能是相当宽泛的标志。你应该更清楚地解释你真正想要的东西。

+1

没有提到,如果你只是想比较(不要传递函数),你可以写'x> y'而不必使用函数! – Shahbaz 2011-12-21 09:38:21

+0

@Jonathan,谢谢你的代码工作。我想了解OS(Linux)的概念移植。谢谢大家 – kannah 2011-12-27 14:12:30