c語言算法(把16進制轉換成10進制)..覺得好難阿.\help me!!!!分不夠再加.....

piziliu2003 2005-01-14 04:08:06
做一個.c語言算法函數把16進制轉換成10進制.(十六制不限制長度.的喔)最好能提供用tc 2.0編譯的源代碼.
謝謝.大蝦們.
...全文
787 25 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
r_swordsman 2005-01-18
  • 打赏
  • 举报
回复
回复人: piziliu2003(眼淚咖啡) ( ) 信誉:100 2005-01-17 20:02:00 得分: 0


. r_swordsman 分是少了點.想要分就說一聲.我馬上再開一個貼.. 真是太感謝了...


说实话~~~~~分是少了那么一点点~~~~~~~~


呵呵~~~~~~`开玩笑啦~~~~能帮助你我也好高兴咖~~~~~~`
r_swordsman 2005-01-17
  • 打赏
  • 举报
回复
#include "stdafx.h"

class fc
{
public:
int a; ////////////// <---------- 注意PUBLIC~~~要PRIVATE的话~~你要提供设置和访问的方法
public:
fc(){ a = 10; }
friend int cg(fc *); // <<<-----------友元函数的声明
fc operator +(fc);
};

int cg(fc *f) // <<<-----------友元函数的定义
{
return f->a += 10;
}
fc fc::operator +(fc f)
{
fc t;
t.a = a + f.a; //////// +!!!!!!!
return t;
}
void main()
{
fc f;// fc::a = 0;
fc t = f + f;
int r = cg(&f);// r = fc::a = 10;
r = cg(&f);// r = fc::a = 20;
}


///////
你自己设计类的时候要考虑怎么低LONG和高LONG相加~~~然后底LONG向高LONG的进位~~~~~~~`
r_swordsman 2005-01-17
  • 打赏
  • 举报
回复
TO : r_swordsman
重载远算符能不能給各例子參考呢?
===========================

比如一个DDLONG类
DDLONG DDLONG::operator +(DDLONG d) ////// 上一个错误~~~不是FC是DDLONG~~贴的时候没改过来
{
DDLONG t;
....
return t;
}

表达式:
A=B+C
其中
A是反回直
B就是当前对象
C就是参数
r_swordsman 2005-01-17
  • 打赏
  • 举报
回复
TO : r_swordsman
重载远算符能不能給各例子參考呢?
===========================

比如一个DDLONG类
DDLONG fc::operator +(DDLONG d)
{
DDLONG t;
....
return t;
}

表达式:
A=B+C
其中
A是反回直
B就是当前对象
C就是参数
piziliu2003 2005-01-17
  • 打赏
  • 举报
回复
. r_swordsman 分是少了點.想要分就說一聲.我馬上再開一個貼.. 真是太感謝了...
piziliu2003 2005-01-17
  • 打赏
  • 举报
回复
Thanks. r_swordsman(取什么样的昵称才有个性又能显示出来而且不能太长?)
aladar(深蓝)
pcboyxhy(-273.15℃
huangyang88(中国-必胜)
r_swordsman 2005-01-15
  • 打赏
  • 举报
回复
把16进制字符串转换成long类型~~~
long l = strtol("00ABCEDff", NULL, 16); // l = 0x0abcedff
aladar 2005-01-15
  • 打赏
  • 举报
回复
长度由MAX_LEN定,只要十进制结果小于3*MAX_LEN十进制位就行。
没装tc2, 应该可以的,我假设这里的int都是16位的,楼主编译一下试试

没做严格测试。。。只是试了几个数都可以
C2A56E3B541B69E6=14025737815608486374

#include <stdio.h>

#define MAX_LEN 10

void mul16(int* num)
{
int i;
for(i=0; i<MAX_LEN; i++)
num[i]*=16;

for(i=0; i<MAX_LEN; i++) {
if(num[i]>=1000 && i!=MAX_LEN-1) { //后面半句防溢出
num[i+1]+=num[i]/1000;
num[i]%=1000;
}
}
}

void add(int* big_num, int num)
{
int i;
big_num[0]+=num;

for(i=0; i<MAX_LEN; i++) {
if(big_num[i]>=1000 && i!=MAX_LEN-1) {
big_num[i+1]+=big_num[i]/1000;
big_num[i]%=1000;
}
}
}

void htoi(char* hex, int hlen, int* dec)
{
int i;
for(i=0; i<MAX_LEN; i++)
dec[i]=0;

for(i=0; i<hlen; i++) {
if(hex[i]>='a' && hex[i]<='f')
hex[i]+='A'-'a'; //转换大小写
}

for(i=0; i<hlen; i++) {
mul16(dec);
if(hex[i]>='A' && hex[i]<='F')
add(dec, hex[i]-'A'+10);
else
add(dec, hex[i]-'0');
}
}

void print(int* num)
{
int i;

for(i=0;i<MAX_LEN;i++)
printf("%03d", num[MAX_LEN-i-1]);

printf("\n");
}

int main()
{
int num[MAX_LEN]={0};
char buf[20]="C2A56E3B541B69E6";
htoi(buf, 16, num);
print(num);
return 0;
}
aladar 2005-01-15
  • 打赏
  • 举报
回复
我来写个不限长度的,稍等
pcboyxhy 2005-01-15
  • 打赏
  • 举报
回复
#include <iostream.h>
#include <stdlib.h>
#include <string.h>

long htoi(char *str);

int main(int argc, char *argv[])
{
char s[100];
cin>>s;
cout<<endl<<htoi(s);
system("PAUSE");
return 0;
}

long htoi(char *str)
{
long i=0, j, dec=0, t;
j=strlen(str);
if(*str=='0') i=2;
while(i<j)
{
dec<<=4;
t=*(str+i++);
if(t<58) t-=48;
if(t>64&&t<71) t-=55;
if(t>96&&t<103) t-=87;
dec|=t;
}
return dec;
}


piziliu2003 2005-01-15
  • 打赏
  • 举报
回复
TO : r_swordsman
重载远算符能不能給各例子參考呢?
piziliu2003 2005-01-15
  • 打赏
  • 举报
回复
同意. r_swordsman(取什么样的昵称才有个性又能显示出来而且不能太长?)
thanks.!!
r_swordsman 2005-01-15
  • 打赏
  • 举报
回复
to:: r_swordsman(取什么样的昵称才有个性又能显示出来而且不能太长?) ( ) 信誉:
to: pcboyxhy(-273.15℃)
to: huangyang88(中国-必胜)
關鍵是Long型的當到0~4294967295就會溢出的喔.也就是算法只能到 8位16進制.喔..
5555555555555555555555555....
看來還是要想其它辦法... 難道真的要用數組做運算麼..!!!(如somedummy(某人马甲) 所說..
請大蝦幫忙..

=============
一个LONG存储不了~~~
可以用2个LONG~~~
一个做高位~~~一个做低位~~~
还不够~~用~~~4个~~~~
要做+减运算么????????自己重载远算符吧~~~~~~

piziliu2003 2005-01-15
  • 打赏
  • 举报
回复
to:: r_swordsman(取什么样的昵称才有个性又能显示出来而且不能太长?) ( ) 信誉:
to: pcboyxhy(-273.15℃)
to: huangyang88(中国-必胜)
關鍵是Long型的當到0~4294967295就會溢出的喔.也就是算法只能到 8位16進制.喔..
5555555555555555555555555....
看來還是要想其它辦法... 難道真的要用數組做運算麼..!!!(如somedummy(某人马甲) 所說..
請大蝦幫忙..
FePwaw 2005-01-14
  • 打赏
  • 举报
回复
C++中最简单的方法,强,笑出眼泪了。
drizzlecrj 2005-01-14
  • 打赏
  • 举报
回复
//C++中最简单的方法
//史上最短程序
# include<iostream.h>
void main()
{
int a;
cin>>hex>>a;
cout<<dec<<a<<endl;
}
piziliu2003 2005-01-14
  • 打赏
  • 举报
回复
請問個位大蝦還有甚麼好的想法...好的source code.!!小第感激不盡
somedummy 2005-01-14
  • 打赏
  • 举报
回复
12位的话,随便搞一下就OK了,全部采用数组存放,然后模拟整数运算,轻松搞定(和大数组保存阶乘类似),最多中间从字符串转换到整数,然后再从整数数组输出
lovefly_fanny 2005-01-14
  • 打赏
  • 举报
回复
学习~~
csrwgs 2005-01-14
  • 打赏
  • 举报
回复
#include"stdlib"

char *itoa(int value, char *string, int radix);
int atoi(const char *s);
加载更多回复(5)
更新说明: 2017-02-04(yaya) Ls command: Empty Folder returns false. 2016-12-08(yaya) 修正lz4、vhd不显示解压缩进度指示。增加lzma解压缩进度指示。 2016-11-09(不点) 0x8205 bit 5 = 1: 使checkkey闲置循环停止指令。 2016-04-13(yaya) 支持动画菜单 setmenu --graphic-entry=类型=菜单行数=菜单列数=图形宽(像素)=图形高(像素)=菜单行间距(像素) 菜单项0的路径文件名 类型: 位0:高亮指定颜色 位1:高亮颜色翻转 位2:高亮显示线框 位7:背景透明(最好使用黑色背景) 文件名: *n.??? 格式 n=00-99 高亮颜色由 color HIGHLIGHT=0xrrggbb 指定。 字符可以使用任意字型、字高、颜色,可以辅以图标。 2016-03-25(yaya) 菜单字符可以使用不同字型。 例如:"七" 使用不同字型,将 .hex 文件中的 unicode 码 “4e03” 修改为 “0080”, 将菜单中的 "七" 修改为 “\X0080”。 2016-03-23(yaya) 增强 echo 函数功能。 例如:echo -e \x18 显示 UTF-8 字符 0x18。 echo -e \X2191 显示 unicode 字符 0x2191。 2016-03-15(yaya) 1.增加动画控制热键 F2:播放/停止。 2.增加动画控制位 0x835b,位0:0/1=停止/播放。 3.增加精简字库模式:--simp=起始0,终止0,...,起始3,终止3 中文可以使用 --simp= ,内置字库应当包含 DotSize=[font_h],['simp'] 例如:font --font-high=24 --simp= /24_24.hex DotSize=24,simp 不使用热键: 可以加载 32*32 unifont 全字库 使用热键: 可以加载 24*24 unifont 全字库 使用精简字库: 可以加载 46*46 汉字全字库 使用精简字库及热键:可以加载 40*40 汉字全字库 4.不再支持 bin 格式字库。 2016-03-03(yaya) 1.增加图像背景色设置方法。 splashimage --fill-color=[0xrrggbb] 作用之一,作为小图像的背景。 作用之二,直接作为菜单的背景(即不加载图像背景)。此时只设置字体的前景色即可。 2.增加动画菜单。 splashimage --animated=[type]=[delay]=[last_num]=[x]=[y] START_FILE 类型[type]:bit 0-3: 播放次数 bit 4: 永远重复 bit 7: 透明背景 type=00:禁止播放 播放n次:序列图像各显示n次,时间独占。可作为启动前导、序幕。 永远重复:序列图像无限循环,时间与菜单共享。可作为菜单里的动画。 背景透明:即抠像。要求4角像素为背景色。 背景色最好为白色或黑色,这样可以去除一些灰色杂波。若是彩色背景,则应当非常干净。 提醒:请以16进制方式输入。否则易错。 延迟[delay]:序列图像之间的延迟。单位是滴答,即1/18.2秒。 序列数[last_num]:序列图像总数(2位数,从1开始计数)。 偏移[x]、[y]:图像偏移,单位像素。 起始图像文件 START_FILE 命名规则:*n.??? n: 1-9 或 01-99 或 001-999。 3.增加固定图像的背景色可以透明。 splashimage [--offset=[type]=[x]=[y]] FILE 类型[type]:bit 7: 透明背景 2016-02-14(yaya) setmenu 函数增加菜单项目背景短/满参数(默认短) 2016-01-19(yaya) splashimage 函数增加图像起始偏移(默认0) 2015-08-20(yaya) 1.支持非
I made this file by collecting kinds of paper test information online in about half a year. I made it public to help the ones hunting for jobs like myself last year. If anything is wrong, Please contact me by CSDN or Peking Moment at gmail dot com. You can print or note this file by yourself without纸上谈兵 刖音……… 操作系统及 linux 14 1.进程与线程 1)同步机伟 14 2)进程通信… 15 3)同步与通信 4)进程调度 16 5)多进程与多线程的区别….17 6)死锁 17 7〕)进程与线程 18 2. fork ““““““““““““““ 18 3. Linux…………… 20 4, RAID 21 5.测试…. 1面 道面准 21 6.堆栈数据代码区 …22 7.文件读写 n1道面1面面主B1 23 1) fclose(……… 23 2)fopen 23 3fseek0 .24 4)fread 24 5) fwrite(… 24 8.硬链接与软链接 25 .C++与面向对象语言 26 1.C语言基础问题… 26 GoogLe+@http://dwz.cn/fada5 CsdN@http://dwz.cn/as2ik 1)关于 const的问题 26 2)浅复制与深复制.…. 3)逆波兰表达式 4)C语言变长参数0 a品 27 5)调用约定… 27 6)寄存器 28 7)关于内联数 inline 28 8 PACK.... 28 9)正则表达式 29 内存操作… 29 11)四种强制类型转换 31 12 sizeof …31 13)动态库与静态库 32 14)压栈·优先级·位序·宏· Union·指针 32 15)new& malloc… 35 16) enum 35 2.面冋对象编程 面面面 35 1)构造函数虚函数静态成员函数…… 35 2)copy& assignment… 36 3)列表初始化 37 4)多态… 37 5)静态绑定与动态绑定 38 6 Explicit mutable volatile internal 39 7)继承… 39 8〕)堆栈溢出 面主1面主面:aat 40 9)重载操作符 40 10) Final 1 C+ 41 3.设计模式. .41 1)UTF编码协议… 41 〕)创建型模式( creational pattern)…… 41 3)单例模式 1面a i1面 42 4)策略模式…… 主主主基主主主主 42 5)MVC……, 43 6) PIMPL….... “4 .43 7)RAIL 44 4 STL 44 1) Vector.… 44 2]upper_ bound&lower_bound 45 mAp 45 数据结构 46 1.树. 146 1)基本知识 …46 2)几个问题 46 3)完全二叉树( Complete binary tree)… 54 4)次优查找树 55 5)最优二叉树霍大曼树…… 55 6) BST: Search/insert/delete 56 7)平衡二叉树与AVL树 8)B树与B+树 57 9)红黑树 59 2.栈 59 GoogLe+@http://dwz.cn/fada5 Csdn@http://dwz.cn/as2ik 1)括号配对 59 3.链表… 61 1)单向链表交点问题 61 2)链表内环的存在间题 62 3)链表逆置反向存储… 63 4)将两个排序好的链表归并 4.图. 面道盖 主1 65 1)某本知识….,… 65 2)图的表示…, 1面自1主主主日1面主 65 )DFS&BFS…....… 6 4D&b&FW algorithm 68 5)应用 主自 着面 69 5.排序 70 1)基木知识 …70 2)快速排序 …71 3)插入排序 72 4)希尔排序… …72 5)选择排序 72 6)归并排序… 73 7)堆排序 74 8)拓扑排序… 75 9)计数排序… 76 6. Hash 76 1) Consistent Hashing…… 76 7.查找元素∴ 77 1)一般二分查找…… 77 2)循环升序数组 77 3)杨氏矩阵… 4)跨行查找字符串 81 5)Trie树 81 8.其他. 1)主定理与复杂度 81 2)静态存储与动态存储… 82 3)字符串匹配 主主面主主主 ….82 四 数据与计算机通信… 85 1 OSI 85 2.TCP协议 85 1.通路的建立 .86 2.数据传输 86 3.连接终止 87 4.拥塞控制 88 5. Soket通讯与TCP原语 88 3.UDP协议… 89 4.分组交换 90 5.HTTP协议… 90 1)TTP协议简介 2)HTTP协议方法 90 3)HT"TP响应,,…,,… 1 4)示例 91 6.IP协议… 92 1)IPv4 92 2)子网划分 92 GoogLe+@http://dwz.cn/fada5 Csdn@http://dwz.cn/as2ik 7. ICMP 93 8.ARP与RARP 93 数据库 94 1.主键/超键/候选键. 94 2 ACID 1面主 …94 3.数据库范式… n010000I 94 4.数据库中的基本语句 11面 95 5.游标 …………95 6.索引 主主主 主主基主主主主主主签主主主 95 7.语句 96 8.内连接与外连接 96 9.视图 96 六.算法及智力题目 97 1.小白鼠试毒问题及扩展… 主面⊥ 自11自主 97 2.大半寻找次品球问题及扩展. 主主主在主主 97 3.抽扑克牌问题. 98 4.三密码锁问题…… 面面面 99 5.猜数字问题 99 6.最大连续子序列问题 100 7.优惠券问题 101 8.闫隔翻眼镜问题.… …102 9.扔鸡蛋确定楼层问题..-. 02 10.左上右下最大流问题 106 11.三角形内产生随机数 111 12.赛与问题 …111 13.过河问题〔 intel)… 113 14.数星星问题.… 114 15.交流问题/ Gossip problem 114 16.交换问题. 15 17.换数… 18.消耗问题…… 117 19.四则算式 17 20.国王与魔鬼下棋问题 11面 121 七.数学与逻辑…… 122 1.停时定理 122 2.基本公式 123 3.实现'a+b 123 4.估算N!的位数.0 123 5.N的开方 124 6.三个数组求最大距离 126 7.6,9,140可以组合成大于N的所有数请问N最小为?…126 8.判断一个点位于一个多边形的内部? 126 9.求连续数组的最大乘积 127 10.台阶接水问题. 127 11.最小交集. 127 12.概率问题 127 1)生日悖论之二 127 2〕)升级概率问题 128 3)碰撞概率…,… 128 4)布丰投针问题,…,,… …128 )概率组合示例….129 13.排列组合问题 130 GoogLe+@http://dwz.cn/fada5 CsdN@http://dwz.cn/as2ik 1)组合 130 2)全排列 130 3)错排问题..0 133 4)输入,输出对应的所有长度为的二进制串 134 5)输入56,输出11-1621-26…51-56… 135 6)已知字符串里的字符是互不相同的,现在任意组合,比如ab,则输出a, ab,ba,bb,编程接照字典序输出所有的组合 .136 八.手写代码. 138 1. strcpy函数…,,,,, 面面1a面 …138 2.atoi.…, 自1面 主主道 138 3.itoa(Intel) 139 4.约慭夫环〔nte) 面111面D面主 139 5.二分查找函数 140 6.实现栈或者树的建立查找删除销毁操作… 141 7.斐波那契数列 141 8.求两个数组中的相同元素 141 9.查找一个中间大的数… 141 10.编写类 String的构造析构赋值函数…,…,…,,, 141 11.输入两个宇符串,输出第二个字符串在第一个字符串中的位序 143 12.方块寻径…… …144 13.实现积分图 145 语…… 146

70,026

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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