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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 戴振良 黑马帝   /  2012-3-25 15:36  /  3185 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 戴振良 于 2012-3-27 17:33 编辑

我知道十进制是直接写,8进制在前面加0,16进制在前面加0x,如果是2进制的怎么办,
比如我要打印0xf这个16进制数:System.out.println(0xf);//输出为15
如果我要打印1111这个2 进制数,该怎么打印呢?


2012年3月27日 补充:
我是要打印2进制数,不是把10进转换为2进制,比如,我看到一个2进制数:0101 0111,于是我想知道它对应的10进制是多少,于是我可以用什么方法打印这个2进制打印出来,
比如,16进制的F,假设我不知道它是多少,我可以这样打印:System.out.println(0xf),则系统会输出15,那换成我要打印0101 0111这个2进制数呢?该怎么打印?16进制是可以用0x开头表示的,那二进制有没有说用什么开头表示一个数是二进制呢?

10 个回复

倒序浏览
class Demo
{
        public static void main(String[] args)
        {
                System.out.println(1111);                       
        }
}
回复 使用道具 举报
public class Test {
        public static void main(String a[])
        {
                int b=4;
                System.out.println(Integer.toBinaryString(b));
        }

}

评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1

查看全部评分

回复 使用道具 举报
    int n=15
   int[] arr = new int[8];
  int x=0;
  while(n>0)
    { int a=n%2;
     int n=n/2;
    arr[x]=a;
    x++  }
for (int x = arr.length-1;x>=0;x--)
   System.out.println(arr[x]);
  
回复 使用道具 举报
本帖最后由 朱俊 于 2012-5-16 15:05 编辑
  1. ~~~~~~~~~~~~~~
复制代码

评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1 弄个反转,在取最后4位,效果会很好.

查看全部评分

回复 使用道具 举报
可以当个字符串打印System.out.pintln("1111");
也可以直接打印数字System.out.println(1111);
而给定一根正数可以用Integer类的toBinaryString(int i)函数
以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式
System.out.println(Integer.toBinaryString(i));
回复 使用道具 举报
戴振良 黑马帝 2012-3-27 17:21:28
7#
贠(yun)靖 发表于 2012-3-25 17:04
int n=15
   int[] arr = new int[8];
  int x=0;

这代码可以加点注释么,好复杂,看不懂呀{:2_30:}
回复 使用道具 举报
戴振良 黑马帝 2012-3-27 17:24:44
8#
朱俊 发表于 2012-3-25 17:19


麻烦也给点注释,搞不懂是什么功能{:soso__8961432591078930798_3:}
回复 使用道具 举报
戴振良 黑马帝 2012-3-27 17:26:18
9#
yocean 发表于 2012-3-25 21:13
以前的话必须用楼上诸位的方法,你要用的是Java7,可以直接用0b1101表示,
System.out.println(0b1101 ...

我感觉就唯有您理解了我的意思,谢谢!!
回复 使用道具 举报
蒙武辉 发表于 2012-3-25 15:49
public class Test {
        public static void main(String a[])
        {

我是要打印2进制数,不是把10进转换为2进制,比如,我看到一个2进制数:0101 0111,于是我想知道它对应的10进制是多少,于是我可以用什么方法打印这个2进制打印出来,
比如,16进制的F,假设我不知道它是多少,我可以这样打印:System.out.println(0xf),则系统会输出15,那换成我要打印0101 0111这个2进制数呢?该怎么打印?16进制是可以用0x开头表示的,那二进制有没有说用什么开头表示一个数是二进制呢?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马