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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 悟佛修道 于 2013-5-18 16:31 编辑

public static void toBin(int num)
        {
                //定义二进制的表。
                char[] chs = {'0','1'};

                //定义一个临时存储容器。
                char[] arr = new char[32];

                //定义一个操作数组的指针
                int pos = arr.length;
为什么写进制转换方法时,一到定义一个临时存储容器,毕老师就用char类型数组?可以用int类型数组吗?
毕老师一直定义char类型数组是有什么其他的好处吗?

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

5 个回复

倒序浏览
定义一个临时存储容器是为了存放转换后的值,就如两变量值互换时,使用第三方变量的想法一样。
使用char类型是因为如果是转换为十六进制的话,还要存A-F这些字符,如果不是转换为十六进制,用int类型数组也可以
回复 使用道具 举报
神之梦 发表于 2013-5-16 23:25
定义一个临时存储容器是为了存放转换后的值,就如两变量值互换时,使用第三方变量的想法一样。
使用char类 ...

使用char类型是因为如果是转换为十六进制的话  这句是正解。不过如果定为二进制最好选择用boolean。类型的提用一般看两个方面。
1.够不够满足你的要求。
2.满足1的情况下选择占用内存最小的类型
回复 使用道具 举报
数组arr其实里面装的是0,1这样的字符,楼上说的没错,用boolean型的可以节约空间,不过节约这样一点点空间没有什么意义,用int型的当然也可以,不过最后总是要转换成char的字符打印出来的,所以用char型的数组是最方便的,不知道这样说你能理解不?
回复 使用道具 举报
本帖最后由 神之梦 于 2013-5-17 10:49 编辑
slatop@qq.com 发表于 2013-5-17 02:09
使用char类型是因为如果是转换为十六进制的话  这句是正解。不过如果定为二进制最好选择用boolean。类型 ...

认真考虑下@slatop@qq.com 说的,产生了一点疑惑,请教一下:
1、boolean类型在内存中占几个字节?(这个真不知道,好像视频中没讲过)
2、boolean类型的数组传入的值不是应该为boolean类型的数据,即true或false吗?为什么这里可以且最好用boolean???
回复 使用道具 举报
谢谢你们,终于明白了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马