【每日一题Java】输出整数的32位二进制表示

我会带着你远行 2023-10-11 17:24 144阅读 0赞

题目:输出整数的32位二进制表示

方法:位运算,&、<<

代码

  1. import java.util.*;
  2. import java.util.stream.Collectors;
  3. public class Main {
  4. public static void print(int a){
  5. //输出32位二进制表示
  6. System.out.print(a+"的二进制表示:");
  7. for(int i=31;i>-1;i--)
  8. System.out.print((a&(1<<i))==0?0:1);
  9. System.out.println();
  10. }
  11. public static void main(String[] args) {
  12. int a=2147483647;
  13. int b=0;
  14. int c=~a+1;
  15. int d=Integer.MIN_VALUE;
  16. int e=Integer.MAX_VALUE;
  17. int f=1,g=-1;
  18. print(a);
  19. print(a+1);
  20. print(b);
  21. print(c);
  22. print(c-1);
  23. print(d);
  24. print(e);
  25. print(f);
  26. print(g);
  27. }
  28. }

运行结果

  1. 2147483647的二进制表示:01111111111111111111111111111111
  2. -2147483648的二进制表示:10000000000000000000000000000000
  3. 0的二进制表示:00000000000000000000000000000000
  4. -2147483647的二进制表示:10000000000000000000000000000001
  5. -2147483648的二进制表示:10000000000000000000000000000000
  6. -2147483648的二进制表示:10000000000000000000000000000000
  7. 2147483647的二进制表示:01111111111111111111111111111111
  8. 1的二进制表示:00000000000000000000000000000001
  9. -1的二进制表示:11111111111111111111111111111111

参考链接

1、https://www.bilibili.com/video/BV1y34y1v78b?p=2

发表评论

表情:
评论列表 (有 0 条评论,144人围观)

还没有评论,来说两句吧...

相关阅读