怎样不用判断符号求一个int类型的数的绝对值

来源:互联网 发布:js删除元素 编辑:程序博客网 时间:2024/05/08 03:37

今天去了一家创业公司面试,语音面试了一道题 当时没想到,现在有了些思路今天去了一家创业公司面试,语音面试了一道题 当时没想到,现在有了些思路


public class TestAbs {public static void main(String[] args) {// TODO Auto-generated method stubint a=-10;System.out.println(abs(a));}static int abs(int a){return  a*(1-((a>>>31)*2));}}

首先a>>>31,如果a为正则为0,a为负则为1

1-(a>>>31)*2  当a为正时为1,a为负则为-1

得解

0 0
原创粉丝点击