黑马程序员技术交流社区
标题:
char[] arr = new char[8];
[打印本页]
作者:
橸瑩膤漃寞林
时间:
2014-3-10 15:30
标题:
char[] arr = new char[8];
本帖最后由 橸瑩膤漃寞林 于 2014-3-10 15:46 编辑
public static void toHex(int num)
{
char[] chs = {'0','1','2','3'
,'4','5','6','7'
,'8','9','A','B'
,'C','D','E','F'};
//定义一个临时容器。
char[] arr = new char[8];//这里的8是什么意思。
int pos = arr.length;
while(num!=0)
{
int temp = num & 15;
//System.out.println(chs[temp]);
arr[--pos] = chs[temp];
num = num >>> 4;
}
System.out.println("pos="+pos);
//存储数据的arr数组遍历。
for(int x=pos;x<arr.length; x++)
{
System.out.print(arr[x]+",");
}
}
作者:
房建斌
时间:
2014-3-10 15:32
8是这个数组的大小啊。。。你要问什么问题
作者:
赵文超
时间:
2014-3-10 15:37
char[] arr = new char[8];定义一个char类型的数组,数组的大小是8
作者:
chen_x
时间:
2014-3-10 15:39
这里面char[] arr是存放转换结果的,数组长度是8,是因为一个int变量占4个字节,也就是32位,一个int值在计算机上就是一个32位的二进制数,十进制int值转换成十六进制时,是每4位二进制数转换成一个十六进制数,32/4=8, 所以结果数组长度就应该是8.
作者:
2528870651
时间:
2014-3-10 16:30
本帖最后由 2528870651 于 2014-3-10 16:31 编辑
//定义一个临时容器。
char[] arr = new char[8];//这里的8是什么意思。
int pos = arr.length;
复制代码
char[8] 这个8代表这个数组的长度为8
因为数据在内存中用32位系统描述数据的话,
这32位已经能够描述很大的数了2^32
在这个程序中二级制转化成16进制
每4位二进制转换成1位16进制的话,
32位二进制转换成16进制刚刚好是8位
32/4=8
所以定义一个长度为8 的数组来装这8位数,
每一位16进制数对应一个数组中的元素。
作者:
菜小徐
时间:
2014-3-10 16:48
本帖最后由 菜小徐 于 2014-3-10 16:58 编辑
char[] arr = new char[8];//-----------8就是数组长度,arr[0],arr[1]……arr[7]这8个数
int pos = arr.length; //-----------pos=8,length是取出arr数组的长度
QQ图片20140310165733.jpg
(149.67 KB, 下载次数: 85)
下载附件
2014-3-10 16:58 上传
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2