不用任何比较判断找出两个数中较大的数

//不用任何比较判断找出两个数中较大的数
public class TwoNumWithoutJudge{
	
       //判断一个数的符号(返回0负数,1为正数)
	   public static int GetSign(int x)
	   {
         
         return  ((x>>31)^1)&1;   
	   }
	   //方法1 (局限性前提a与b不相等,可能溢出)
	   public static int GetMax01(int a,int b)
	   {
	   	   int c=a-b;
	   	   int d=b-a;

	   	   int C=GetSign(c);
	   	   int D=GetSign(d);
           
	   	   return C*a+D*b;
           
	   }
      
        //异或运算
	   public static int GetFlip(int n)
	   {
	   	   return n^1;
	   }
	   //获得一个数的符号(1为正数,0为负数)
	   public static int sign(int n)
	   {

	   	   return  ((n>>31)&1)^1;
	   }

	   //方法2
	   public static int GetMax02(int a,int b)
	   {
           int c=a-b;
           int sa=sign(a);
           int sb=sign(b);
           int sc=sign(c);
           int difsab=sa^sb;
           int sameSab=GetFlip(difsab);
           int RetrunA=difsab*sa+sameSab*sc;
           int RetrunB=GetFlip(RetrunA);
           return a*RetrunA+b*RetrunB;
	   }
      
       public static void main(String[]args)
       {
              //System.out.println("Hello");
       	       int a =100;
       	       int b=120;
       	       System.out.println(GetMax01(a,b));
       	       System.out.println(GetMax02(a,b));

       	       
       }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个函的实现很简单,可以使用比较运算符(如">")来判断个数的大小关系,然后返回较大。例如: ```python def max_num(num1, num2): if num1 > num2: return num1 else: return num2 ``` 也可以使用Python自带的max()函,例如: ```python def max_num(num1, num2): return max(num1, num2) ``` 这样就实现了找出个数的最大值的功能了。 ### 回答2: 实现寻找个数最大值的函可以很简单,可以先判断个数是否大于另一个数,如果是,则返回该,否则返回另一个数。具体实现如下: ```python def find_max(a, b): if a > b: return a else: return b ``` 在这个函,我们使用了 if-else 语句来进行条件判断,当 a 大于 b 时就返回 a,反之返回 b。这是一个非常基础的例子,这里函的功能十分简单,因此代码也十分简单。 使用示例: ```python result = find_max(2, 5) print(result) # 输出 5 result = find_max(10, -3) print(result) # 输出 10 ``` 在这里,我们先调用了 find_max 函来获取个数的最大值,然后再输出结果。 总结一下,寻找个数最大值这个问题非常简单,只需要一行代码即可解决。然而,这也是编程的魅力所在,即通过解决一个个小而简单的问题,不断地累积经验,不断地向着更高的目标前进。 ### 回答3: 这个问题看似非常简单,但在编程是非常常见的问题,并且在日常操作也非常常见。找到个数的最大值可以通过比较运算符来实现。我们可以编写一个简单的函来实现这个问题。 假设输入的个数字为a和b,我们可以使用if语句来比较个数字的大小。如果a大于b,我们就返回a;如果a小于b,我们就返回b。如果a等于b,那我们就可以返回任意一个数字,因为它们都是最大值。 下面是一个Python函的示例,用来找到个数的最大值: def find_max(a, b): if a > b: return a else: return b 这个函非常简单,只需要个参a和b,然后返回最大值。我们可以在Python调用这个函,如下所示: print(find_max(5, 10)) # 输出10 这个函在Python非常常见,它的语法也非常简单,并且可以轻松地适用于其他编程语言。无论你使用哪个编程语言,只需要按照类似的逻辑来编写函即可。 总体来说,这个问题的解决方法是非常简单的,并且可以应用到各种类型的应用程序。在编写程序时,找到最大值是一个非常常见的操作,因此我们需要学会这个操作并熟练掌握它。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值