80分帮我看看这道题目怎么做啊 ?

hnsc 2006-11-06 12:59:34
请用移位的方式打印出一个十进制整数的十六进制形式。提示:按每4个二进制位对整数进行移位和去高位处理,得到的结果就是十六进制数的一位,然后按下面三种方式之一(作为作业,要求每种方式都用到)计算出一个十六进制数值对应的十六进制形式:
1)0-9之间的数值直接加上字符'0',9以上的数值减去10以后再加上字符'A'
2)定义一个数组,其中包含0-F这些字符,然后用要计算的数值作为数组的索引号,即可获得其对应的十六进制数据。
3)Character.forDigit静态方法可以将一个十六进制的数字转变成其对应的字符表示形式,例如,根据数值15返回字符'F'。
...全文
335 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
shengli_liao 2006-11-07
  • 打赏
  • 举报
回复
郁闷
yanhan0615 2006-11-06
  • 打赏
  • 举报
回复
跟楼上想的一样
千里冰封820 2006-11-06
  • 打赏
  • 举报
回复
直接用Integer.toHexString方法不就可以了
jobs002 2006-11-06
  • 打赏
  • 举报
回复
jf
fengyun5d 2006-11-06
  • 打赏
  • 举报
回复
C:\j2sdk-1_4_1\bin>java DecToHex 1 10
0000000A
C:\j2sdk-1_4_1\bin>java DecToHex 1 155555
00025FA3
C:\j2sdk-1_4_1\bin>java DecToHex 1
呵呵,给个数呀
fengyun5d 2006-11-06
  • 打赏
  • 举报
回复
//输入参数第一个为 计算的方法,第二个为代转换的整数
public class DecToHex {
public static void main(String []args)
{
int i = 0;
try
{
i = Integer.parseInt(args[1]);
}catch(Exception e)
{
System.out.print("呵呵,给个数呀");
System.exit(0);
}

String hex ="";
char x[]= new char[16];
//初始化;
for(int k = 0 ;k<16;k++)
x[k] = (char)((k>9)?(k-10+'A'):(k+'0'));

int op = 0;
try
{
op = Integer.parseInt(args[0]);
}catch(Exception e)
{
System.out.print("呵呵,我不知道按什么方法算,给点提示,1,2,3。 ");
System.exit(0);
}
switch(op){
//1
case 1:
for(int j = 7; j>=0 ;j-- )
{
int r = i>>(j*4);
r &=0x000f;
//1
char n = (char)((r>9)?(r-10+'A'):(r+'0'));
hex+=n;
}
break;
//2
case 2:
for(int j = 7; j>=0 ;j-- )
{
int r = i>>(j*4);
r &=0x000f;
//1
hex+=x[r];
}
break;
//3
case 3:
for(int j = 7; j>=0 ;j-- )
{
int r = i>>(j*4);
r &=0x000f;
//1
hex+=Character.forDigit(r,16);
}
break;
default :
System.out.print("呵呵,我不知道按什么方法算,给点提示,1,2,3。 ");
System.exit(0);
}

System.out.print(hex);
}

}
Bird_fro 2006-11-06
  • 打赏
  • 举报
回复
这个不会啊,不好意思
帮顶一下
hdhmail2000 2006-11-06
  • 打赏
  • 举报
回复
这个应该不难吧,也就是十进制转为二进制,再由二进制按照4个二进制为一个16进制的数算出此十进制的16进制吧?
buyaowen 2006-11-06
  • 打赏
  • 举报
回复
先把十进制的转化成二进制,然后按照提示作?
不知道理解的对不对
hnsc 2006-11-06
  • 打赏
  • 举报
回复
晕 这还不够明确啊
zxc0236 2006-11-06
  • 打赏
  • 举报
回复
啥题目啊,命题不明确啊.
graybaby 2006-11-06
  • 打赏
  • 举报
回复
偶帮不上忙
帮你up下
《深入浅出 C++》视频教程详细、系统地介绍了 C++ 开发中方方面面的技术细节,整个课程涵盖知识点非常多,知识模块囊括 名字空间、类与对象、继承与多态、各类友元、异常机制、函数模板、类模板、STL容器操作等等,学完之后将拥有C++开发的非常坚实的功底。 注意:本套视频教程来源于线下的实体班级,因此视频中有少量场景对话和学生问答,对此比较介意的亲们谨慎购买。 本套视频教程不仅会讲清楚概念和相应知识点,而且会抽丝剥茧,讲清楚来龙去脉,站在编程语言设计者的角度讲清楚为什么会出现这样的语法,站得高才能看得远,而不仅仅纠缠于细碎的语法。既有登高望远的视角,又有俯身前行的实践,有别于市面上大多数流于表面的教程。下面是讲解迭代器的一节视频的截图: 每个知识点不仅仅会通过视频讲解清楚,并且会配以精心安排的实验和作业,用来保证学习过程中切实掌握核心技术和概念,通过实验来巩固,通过实验来检验,实验与作业的目的是发现问题,发现技术盲点,通过答疑和沟通夯实技术技能。注意:本套视频教程包含全套11套作业题,覆盖所有视频知识点,循序渐进,各个击破。下面是部分作业题目展示,每道题都有知识点说明,是检验学习效果的一大利器:常见问题:问:零基础可以学习吗?答:这门课程并非针对完全零基础的学员,学习这门课程需要对C语言有了一定了解的。问:遇到问题可以答疑吗?答:可以的,购买课程后可以联系到我,安排进入专门的QQ答疑群。不仅可以向老师提问,也可以跟其他同学讨论,结交兴趣相投的朋友。问:学完能什么?答:C++是众多开发岗位的必备技能,也是进入面向对象编程领域的一门利器,可以胜任很多岗位的职业要求。尤其是对游戏开发、游戏引擎、算法、界面开发、系统开发等等,C++都是热门技术。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧