ergwang
 1 import java.util.Scanner;
 2 
 3 public class Question1 {
 4     public static void main(String[] args) {
 5         //从键盘得到一个值
 6         Scanner sc = new Scanner(System.in);    //声明一个标准输入扫描器
 7         System.out.println("请输入一个整数:");
 8         int n = sc.nextInt();   //得到整数
 9         sc.close();    //关闭扫描器
10 
11         //调用转换为绝对值的函数
12         n=ToAbs(n);
13         System.out.println("绝对值为:" + n);
14     }
15 
16     //取绝对值方法
17     //int类型存入是以二进制补码的形式在内存中,要取绝对值,只需要改变其符号位
18     public static int ToAbs(int n) {
19         int i = n >> 31;             //int 为32位,右移31位得到符号位,赋值给i,若为正,则i==0;负,i==-1
20         return ((n ^ i) - i);        //一个数^0==原数,数^-1==数的绝对值-1   ==》 绝对值=负数异或-1取反+1
21     }
22 }
23 

 

 

分类:

技术点:

相关文章:

  • 2021-10-02
  • 2021-12-11
  • 2022-01-24
  • 2021-12-19
  • 2021-09-17
  • 2021-09-23
  • 2021-10-09
猜你喜欢
  • 2021-11-26
  • 2021-10-22
  • 2022-01-22
  • 2022-02-16
  • 2021-11-27
相关资源
相似解决方案