十进制、十六进制转换

cailidz 2009-07-17 10:06:41
如何将十进制转换为十六进制输出,不用转换函数。
...全文
190 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
attain84 2009-07-19
  • 打赏
  • 举报
回复
没太明白楼主的意思。不会像这样的吧?

#include "stdafx.h"

int main()
{
int a=100;
printf("%x\n",a);
}
十八道胡同 2009-07-18
  • 打赏
  • 举报
回复
如果用转换函数的话,那就是一句话的事情。
不用的话就是一个一个转换..
2楼和5楼的都可以的。
玖伍叁柒 2009-07-18
  • 打赏
  • 举报
回复
不回帖代码了,要被人BS了
#include <iostream>
using namespace std;
int main()
{
int time = 999;
cout << hex << time;
return 0;
}
玖伍叁柒 2009-07-18
  • 打赏
  • 举报
回复
代码没贴好??在来一遍
++]#include <iostream> 
using namespace std;
int main()
{
int time = 999;
cout < < hex < < time;//hex为16进制输出,oct为8进制数出,dec为10进制数出
return 0;
玖伍叁柒 2009-07-18
  • 打赏
  • 举报
回复
楼主是在VC区问的,那么我就用C++的方式回答
[code=C++]#include <iostream>
using namespace std;
int main()
{
int time = 999;
cout << hex << time;//hex为16进制输出,oct为8进制数出,dec为10进制数出
return 0;
}[/code]
很遗憾,不能输出为2进制
cnzdgs 2009-07-18
  • 打赏
  • 举报
回复
十进制是数值还是字符串?如果是字符串先转成数值,从最高位开始每次乘以10再加下一位。
数值转十六进制字符串,每次处理二进制4位,从高位开始,用>>将要取的4位移到最低位,然后&0xf,如果小于10,加0x30;如果大于等于10,减10加'A',然后存入字符串。
kkun_3yue3 2009-07-17
  • 打赏
  • 举报
回复
namespace System {
// 摘要:
// 将一个基本数据类型转换为另一个基本数据类型。
public static class Convert {
//
// 摘要:
// 将指定基数的数字的 System.String 表示形式转换为等效的 32 位有符号整数。
//
// 参数:
// value:
// 包含数字的 System.String。
//
// fromBase:
// value 中数字的基数,它必须是 2、8、10 或 16。
//
// 返回结果:
// 等效于 value 中的数字的 32 位有符号整数。 - 或 - 如果 value 为 null,则为零。
//
// 异常:
// System.ArgumentException:
// fromBase 不是 2、8、10 或 16。 - 或 - value,它表示一个非 10 为基的有符号数,前面带一个负号。
//
// System.FormatException:
// value 包含的一个字符不是 fromBase 指定的基中的有效数字。如果 value 中的第一个字符无效,异常消息则指示没有可转换的数字;否则,该消息将指示
// value 包含无效的尾随字符。
//
// System.OverflowException:
// value,它表示一个非 10 为基的有符号数,前面带一个负号。 - 或 - 返回值小于 System.Int32.MinValue 或大于 System.Int32.MaxValue。
public static int ToInt32( string value, int fromBase );
}
kkun_3yue3 2009-07-17
  • 打赏
  • 举报
回复
        //
// 摘要:
// 将指定基数的数字的 System.String 表示形式转换为等效的 32 位有符号整数。
//
// 参数:
// value:
// 包含数字的 System.String。
//
// fromBase:
// value 中数字的基数,它必须是 2、8、10 或 16。
//
// 返回结果:
// 等效于 value 中的数字的 32 位有符号整数。 - 或 - 如果 value 为 null,则为零。
//
// 异常:
// System.ArgumentException:
// fromBase 不是 2、8、10 或 16。 - 或 - value,它表示一个非 10 为基的有符号数,前面带一个负号。
//
// System.FormatException:
// value 包含的一个字符不是 fromBase 指定的基中的有效数字。如果 value 中的第一个字符无效,异常消息则指示没有可转换的数字;否则,该消息将指示
// value 包含无效的尾随字符。
//
// System.OverflowException:
// value,它表示一个非 10 为基的有符号数,前面带一个负号。 - 或 - 返回值小于 System.Int32.MinValue 或大于 System.Int32.MaxValue。
public static int ToInt32( string value, int fromBase );
十八道胡同 2009-07-17
  • 打赏
  • 举报
回复
void Transform(int num,int r)
{
if(num!=0)
{
int k=num%r;
num/=r;
Transform(num,r);
switch(k)
{
case 10:
cout<<'A';
break;
case 11:
cout<<'B';
break;
case 12:
cout<<'C';
break;
case 13:
cout<<'D';
break;
case 14:
cout<<'E';
break;
case 15:
cout<<'F';
break;
default:
cout<<k;
}
}
}
十八道胡同 2009-07-17
  • 打赏
  • 举报
回复
除16模16 一直做下去

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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