A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© H._张_♂ 中级黑马   /  2014-4-6 16:25  /  699 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

求一个整数取反+1的代码、、、、我是想把负数变为二进制,但是不想用integer自带的方法。源码看不懂。。。

1 个回复

倒序浏览
这个程序所有整数都可以转
  1. class Demo
  2. {
  3.         public static void main (String[] args)
  4.         {
  5.                 intToBin(-2);
  6.         }

  7.         public static void intToBin(int num)
  8.         {
  9.                 if (num==0)
  10.                 {
  11.                         System.out.print("0");
  12.                         return;
  13.                 }
  14.                
  15.                 char[] chs = {'0','1'};
  16.                
  17.                 char[] arr = new char[32];
  18.                 int pos = arr.length;
  19.                
  20.                 while (num!=0)
  21.                 {
  22.                         int temp = num & 1;
  23.                         arr[--pos] = chs[temp];
  24.                         num = num >>> 1;
  25.                 }

  26.                 for (int x=pos; x<arr.length; x++)
  27.                 {
  28.                         System.out.print(arr[x]);
  29.                 }
  30.         }
  31. }
复制代码


输出 11111111111111111111111111111110
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马