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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 拂袖叙五代 中级黑马   /  2015-10-6 10:07  /  669 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int i=-1;
print(Integer.toBinaryString(i));
这句话输出什么?还有Integer.toBinaryString(i)这个是什么意思,负数也可以取2进制吗

6 个回复

倒序浏览
任何数在计算机中都是以二进制表示的呀...
回复 使用道具 举报
Integer.toBinaryString(i)是JAVA中的转换2进制的方法,负数是有二进制的啊,只不过符号位是1,正数符号位是0
回复 使用道具 举报
package answer;//-1 转换成 二进制
class ArrayTest6
{
        public static void main(String[] atgs)
        {
                toBin(-1);
        }
public static void toBin (int num){
        //定义一个二进制表
        char [] chs = {'0','1'};//符号都是英文状态下的
        //定义一个临时容器
        char[] arr= new char[32];//char长度要写
        //定义一个操作数组的指针
        int pos=arr.length;
        while(num!=0)
                        {
                                int temp=num&1;//模1
                                arr[--pos]=chs[temp];//查表
                                num=num>>>1;//左移一位
                        }
                for (int x=pos; x<arr.length;x++)//for 循环 x=pos 指针有效位开始
                {
                        System.out.print(arr[x]);//输出
                }
        }
}
回复 使用道具 举报
计算机就是01组成的,当然任何数字都可以用二进制来表示了
回复 使用道具 举报
可以取,把代码敲进eclipse运行一下
回复 使用道具 举报
江湖104 来自手机 中级黑马 2015-10-6 22:07:28
7#
不必太纠结,会用就行了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马