十进制转十六进制 代码

标签: stdstring string hex input c
13554人阅读 评论(0) 收藏 举报

 

5621转换为16进制数的方法是“除16取余”方法, 
5621/16=商351余5,16进制最后一位为5 
351/16=商21余15,16进制右边第二位为F 
21/16=商1余5,16进制右边第三位为5 
1/16=商0余1,16进制数右边第四为为1 
商0就不继续除了  
最后的结果为15F5
#include <iostream>
#include <string>

using namespace std;

// 整数转换成字符串
string  int2str( int  num);

 
int main(int argc, char* argv[])
{
	// 十进制转十六进制
	int num = 0;
	cout<<"Please Input A Num "<<endl;
	cin>>num;
	string str_num;
	while(num / 16 != 0)
	{
		int a = num / 16;
		int mod_a = num % 16;
		cout<<"mod_a = "<<mod_a<<endl;
		string s;
		switch(mod_a)
		{
		case 10:
			s = 'A';
			break;
		case 11:
			s = 'B';
			break;
		case 12:
			s = 'C';
			break;
		case 13:
			s = 'D';
			break;
		case 14:
			s = 'E';
			break;
		case 15:
			s = 'F';
			break;
		default:
			s = int2str(mod_a);
			break;
		}
		str_num = s + str_num;
		num = a;
	}
	if(num % 16 != 0)
	{
		int last_a = num % 16;
		str_num = int2str(last_a) + str_num;
	}

	cout<<"The Hex Num = "<<str_num<<endl;
	return 0;
}

string  int2str( int  num)
{
	if (num  ==   0 )
		return   " 0 " ;
	string  str  =   "" ;
	int  num_  =  num  >   0   ?  num :  - 1   *  num;
	while (num_)
	{
		str  =  ( char )(num_  %   10   +   48 )  +  str;
		num_  /=   10 ;
	} 
	if (num  <   0 )
		str  =   " - "   +  str;
	return  str;
}


 

查看评论

Lua 中 number 转换各种进制,以及string串转number

本文实现了Lua 中 number 转换各种进制,以及各种进制 string 串转 number。实现思路: 1. 实现一个 table:_convertTable, 存下数字和字符串之间的对应关系...
  • David_Dai_1108
  • David_Dai_1108
  • 2017-05-11 23:23:02
  • 6969

lua 十六进制与十进制相互转换

--[[--    rgb转成16进制]]function converRGB2Hex(color)   local str = &quot;&quot;   --十进制转到十六进制   if str...
  • xiaodong911
  • xiaodong911
  • 2018-03-13 14:24:44
  • 131

Lua二进制和十六进制的相互转换以及文件保存传递

有时候我们有需要保存某个文件或者传输某个文件的需求,当然通过二进制流传输也是同样的道理,但是不利于传递保存。例如,我有张裸照不想被人直接看见,所以我不能直接保存图片,保存二进制码吧太长,所以呢,我可以...
  • qq_28057577
  • qq_28057577
  • 2017-09-01 17:16:36
  • 1283

shell 中转换16进制10进制

一、16进制转换成10进制 printf %d 0xF 15 或者 echo $((16#F)) 15 二、10进制转换成16进制 printf %x 15 f 或者 echo...
  • rheostat
  • rheostat
  • 2012-10-10 17:28:55
  • 4241

编写程序,将一个十进制正整数转换成十六进制数

//编写程序,将一个十进制正整数转换成十六进制数/* 程序分析: 1.如果在0-9 直接输出0-9 2.写一个对应函数 用循环代替 3. 中间遇到问题,怎么判断一个输入数字的长度 设置一个while...
  • grace_fang
  • grace_fang
  • 2017-03-14 17:21:38
  • 4610

c语言将十进制数转换为16进制的函数

有3种方式实现,其中两种是使用系统函数,另一种是直接自己编写。 使用系统函数实现要加入#include stdlib.h>,自己编写则不需要这个头文件。 下面的代码就是3种方式的实现,包括2位的整...
  • csu_yang
  • csu_yang
  • 2016-03-11 08:58:33
  • 27839

十进制转十六进制的C实现

以下是代码实现: void dec16hex(int num,char *hex) { char hextable[] = "0123456789ABCDEF"; int i = 0; in...
  • MrQkeil
  • MrQkeil
  • 2017-10-03 21:14:22
  • 802

iOS 十进制转换成十六进制

////将NSString转换成十六进制的字符串则可使用如下方式:- (NSString *)ToHex:(uint16_t)tmpid{    NSString *nLetterValue;    ...
  • u011146511
  • u011146511
  • 2016-12-27 15:58:01
  • 1071

用C语言,如何写十进制转换十六进制的程序,要注意十六进制有ABCDEF。

主题:用C语言,如何写十进制转换十六进制的程序 ...
  • lcj8
  • lcj8
  • 2008-03-12 18:47:00
  • 48117

【c++程序】十六进制转换十进制

//进制转换 //本题知识点: 字符串 //题目描述 // //写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 ) // //输入描述: //输入一个十六进制的数...
  • u012503639
  • u012503639
  • 2016-07-04 16:38:53
  • 6877
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 74万+
    积分: 9218
    排名: 2870
    博客专栏
    文章分类
    最新评论