社区
C++ 语言
帖子详情
救命!巨大的10进制数转为16进制数的方法!
tonny1025
2009-06-16 10:01:34
马上就要纳品了,却发现漏了个转换处理!
假设有一个很大的常规方法无法保存的10进数,暂存在字符串里。
要把它转为16进制的数该怎么弄啊?
谢谢各位了!
...全文
314
16
打赏
收藏
救命!巨大的10进制数转为16进制数的方法!
马上就要纳品了,却发现漏了个转换处理! 假设有一个很大的常规方法无法保存的10进数,暂存在字符串里。 要把它转为16进制的数该怎么弄啊? 谢谢各位了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sb3day
2011-05-09
打赏
举报
回复
[Quote=引用 15 楼 tonny1025 的回复:]
谢谢各位的建议!谢谢。
[/Quote]谢毛啊,你解决了就应该把解决方法也说一下
tonny1025
2009-06-24
打赏
举报
回复
谢谢各位的建议!谢谢。
woneedjob
2009-06-17
打赏
举报
回复
UP
光宇广贞
2009-06-17
打赏
举报
回复
楼主……我怎么觉得,在内存里面就是16进制保存的呢,只不过可以显示为10进制罢了,又不是BCD码……哪里来的十进制与十六进制之分……
楼主你把问题再捋一下。
pathuang68
2009-06-17
打赏
举报
回复
[Quote=引用 4 楼 hqin6 的回复:]
如果lz的意思想把10进制的转换为16进制的字符串,还是有办法的!
[/Quote]
对,楼主的意思应该是将10进制的很大的数字(字符串)转换成16进制的字符串吧?
hjjdebug
2009-06-17
打赏
举报
回复
大数的存储依赖你定义的数据结构。该数据结构的定义依赖你对该数据的处理。
32位计算机处理的数据基本单元是32位。 但这并不妨碍你处理3200位或更大的数据。
因为你的更多的数据是用结构定义的。
我不知道你的需求,你自己依据需求定义结构并转换就可以了。
zy0118
2009-06-17
打赏
举报
回复
用最笨的方法,先实现 字符串数字 的 加法,减法,除法,然后就可以算出16进制的字符串了。
hongwei789007
2009-06-17
打赏
举报
回复
#include <stdio.h>
#define N 8
void tran(int num,int k)
{
int arr[N],i;
for (i=0;i<N;i++)
{
arr[i]=num%k;
num=num/k;
if (num==0)
break;
}
printf("转换为%d进制数为: ",k);
for (;i>=0;i--)
switch (arr[i])
{
case 10: printf("A");break;
case 11: printf("B");break;
case 12: printf("C");break;
case 13: printf("D");break;
case 14: printf("E");break;
case 15: printf("F");break;
default: printf("%d",arr[i]);
}
printf("\n\n\n");
}
void main()
{
int num,choo;
loop: printf("请选择功能:0.退出 1.十进制转二进制 2.十进制转八进制 3.十进制转十六进制\n");
scanf("%d",&choo);
switch (choo)
{
case 1:
printf("请输入要转换的十进制数:");
scanf("%d",&num);
tran (num,2);
goto loop;
case 2:
printf("请输入要转换的十进制数:");
scanf("%d",&num);
tran (num,8);
goto loop;
case 3:
printf("请输入要转换的十进制数:");
scanf("%d",&num);
tran (num,16);
goto loop;
case 0:break;
default :
printf("输入有误!请重新输入!\n");
goto loop;
}
}
hongwei789007
2009-06-17
打赏
举报
回复
那把你的方法说出来大家参考下啊。。。。。!
tonny1025
2009-06-17
打赏
举报
回复
谢谢各位,我是想转为16进制后存进CHAR数组里。不过现在找到一个回避大数值的解决方法了。结贴了。
cutestar
2009-06-17
打赏
举报
回复
要是你看了汇编的DWORD的四则运算的处理,你就会找到处理这个的方法了
konbunan
2009-06-17
打赏
举报
回复
使用堆栈!
太乙
2009-06-16
打赏
举报
回复
如果lz的意思想把10进制的转换为16进制的字符串,还是有办法的!
猫已经找不回了
2009-06-16
打赏
举报
回复
[Quote=引用楼主 tonny1025 的帖子:]
马上就要纳品了,却发现漏了个转换处理!
假设有一个很大的常规方法无法保存的10进数,暂存在字符串里。
要把它转为16进制的数该怎么弄啊?
谢谢各位了!
[/Quote]
晕,你10进制无法保存,就是太大了,16进制还是存不了啊,始终只有64位。
你考虑用大数库吧,gmp大数库。
ly309431053
2009-06-16
打赏
举报
回复
从a进制转到b进制:while(x1!=0)
{
xb+=(x1%b)*k;
x1/=b;
k*=a;}
其中x1是原始数据,是a进制。xb是转换过后的数值。这是程序的主要部分,其他自己添加一下就可以啦,你的问题就是把a=10转到b=16你试试
adventurelw
2009-06-16
打赏
举报
回复
10进制没法保存,16进制也一样没法保存啊
都只能作为字符串处理,从处理来说,10进制还是更直观吧。
试解PTA《20211122-函
数
基础练习》,涉及 高精度加法 和
10进制
转换成2-
16进制
问题,有需要的同学来看看吧;
为您讲解一些例题,辅助您学习一些小知识点
C# 学习记录-多个bit利用移位后
转为
十进制取值
C# 学习记录解析多位bit的并取值
【超干货】
救命
!我好像掌握了字节「客户端」校招面试通关密码!
题目考察的知识点栈的先进先出性质和哈希表题目解答
方法
的文字分析用哈希表来存储左括号(3种左括号),值为右括号(3种右括号)。1、讲一讲你认为的遇到的最难的项目经历没让自我介绍,我直接讲了实习遇到的一些问题,感觉面试官不是太感兴趣。题目考察的知识点 :
数
组元素移动,
数
组反转,找规律题目解答
方法
的文字分析:首先,将 k 取模,避免 k 大于 nums 的长度时多余的操作。目前来说,三的工作氛围着实还可以,楼主所在的site点大多
数
都是搞技术的,所以没那么多鸡毛蒜皮。
Git源码(Linus 版本)详解
源码中的所有的 C 文件都 #include "cache.h ",read-cache.c 则实现 cache.h 中声明的函
数
,初始化声明的变量,因此放在一起说。sha1_to_hex 是将 160 位二进制
数
转为
40 位十六进制
数
,Linus 强调了这是静态 buffer,共分配了50个字节的空间,要注意⚠️。write_sha1_buffer 是一个更常规的写文件操作,由 sha1 解析出要存放的文件位置,将 buf 写入文件,文件大小上限是 size。首先看下效果,有个感性印象,再看代码。
从文件里读出来%u9996%u9875...之类的
16进制
,怎样才能正常现实为中文
从文件里读出来%u9996%u9875...之类的
16进制
,怎样才能正常现实为中文,在线急等!!网友回复:各位高手,
救命
啊!!难道就没有人知道吗??网友回复:iconv网友回复:我用过了不行啊网友回复:PHP code Code highlighting produced by Actipro CodeHighlighter (freeware) [url]http://...
C++ 语言
64,676
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章