#include <iostream>
#include <string>
#include <math.h>
#include <vector>
using namespace std;
/*
* 把数字转化为ascii码
*/
int getChar_Asci(int a){
switch (a) {
case 1:
a = 49;
break;
case 2:
a = 50;
break;
case 3:
a = 51;
break;
case 4:
a = 52;
break;
case 5:
a = 53;
break;
case 6:
a = 54;
break;
case 7:
a = 55;
break;
case 8:
a = 56;
break;
case 9:
a = 57;
break;
default:
a = 48;
break;
}
return a;
}
/*
* 十进制转化为16进制
*/
string decimalToHex(int num){
vector<int> v;
int digit = num;
double i =log(digit)/log(16);
int pluto = i;
int t = 0;
for(int i = pluto;i >= 0;i--){
double d = pow(16,i);
int j = 1;
for(;j <= 15;j++){
int comPare = d*j;
if(comPare > digit){
break;
}
}
v.push_back(j-1);
t += (d*(j-1));
digit = num - t;
}
char *stri = new char[v.size()+1];
//修改的地方:
memset(stri,'\0',v.size()+1);
for(int i = 0;i < v.size();i++){
v[i] = getChar_Asci(v[i]);
stri[i] = v[i];
}
cout<<strlen(stri)<<endl;
string str = "0x";
str += stri;
delete stri;
return str;
}
int main(){
string str = decimalToHex(100);
cout<<str;
system("PAUSE");
}
为什么strlen(stri)长度为3,比较奇怪。。。。。。。。。。。cout<<strlen(stri)<<endl;
分享到:
相关推荐
C# 十进制转十六进制显示 用ToString()方法就行 具体用法如下,还有其它几种显示方法。
本文将详细讨论大小端模式,并通过MATLAB实现一个将十进制数转换为十六进制数的函数,同时允许用户选择大小端模式。 首先,我们来解释一下大小端模式。在多字节的数据类型(如32位整数)中,最高有效位(MSB)和...
本主题聚焦于将十进制数转换成十六进制数,这是计算机科学中的基本概念,特别是在处理二进制数据、内存表示和编程语言中。在这个模块化程序中,我们有两个关键模块来实现这一功能。 首先,我们要理解十进制和十六...
在编程领域,尤其是在C#语言中,数据的进制转换是一项基本操作,它涉及将数值从一种基数(如十进制)转换为另一种基数(如二进制、八进制或十六进制)。这里我们将详细探讨这个主题,并提供C#代码实现。 一、十进制...
对于包含A-F的十六进制字符串,我们需要先用`&H`前缀将字符串转化为合法的VB6.0十六进制常量,然后再使用`Val()`: ```vb Dim decimalValue As Long decimalValue = Val("&H" & hexValue) ``` 如果`hexValue`包含...
十进制小数转化为十六进制小数类 /// /// 十进制整数转化为十六进制(带小数) /// /// <param name="value"></param> /// <returns></returns> public string DecToHex(double value) { string result =...
使用VS2010的MFC写了一个进制转换的小计算器。 涉及十进制转十六进制,int,char,CString之间的转换等 对初学C++的人可能对进制的转换,以及变量类型的转换很是头疼,希望对初学者有所帮助
十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11
本压缩包文件"BAT批处理脚本-格式转换-十进制转十六进制.cmd.zip"提供了一个批处理脚本,用于将十进制数字转换为十六进制格式。下面我们将详细讨论这个脚本的工作原理、批处理脚本的基本概念以及如何使用和修改这种...
在计算机科学中,数据通常以不同的进制表示,如十进制、十六进制等。在MATLAB和FPGA(Field Programmable Gate Array)设计中,理解和操作不同进制之间的转换是至关重要的。本文将详细讲解如何将十进制和十六进制...
本文将详细解析如何利用C++编写函数来实现二进制、十进制与十六进制之间的相互转换。 ### 一、十六进制转十进制 首先,我们来看十六进制转十进制的转换函数。十六进制(Hexadecimal)是一种逢16进1的进位制,常用A...
MATLAB 十进制与十六进制之间的转换 在计算机科学和信息技术领域中,十进制和十六进制是两个常用的数字表示系统。十进制是我们日常生活中使用的数字系统,而十六进制则广泛应用于计算机编程和数据存储中。MATLAB ...
C语言,实现进制转换,十进制转换为十六进制 例如输入10,转换结果为a
### 十进制转十六进制的原理与Java实现 #### 一、基础知识介绍 在计算机科学中,数据表示和转换是非常重要的概念。通常我们使用的数字系统是十进制(base-10),而在计算机内部则更常使用二进制(base-2)或十六...
byte数组、十进制、十六进制间的两两转换
在计算机科学中,数据的表示通常涉及多种进制系统,其中最常见的是二进制、八进制、十进制和十六进制。本篇文章将深入探讨如何使用C语言将十进制数值转换为十六进制。C语言是一种底层编程语言,提供了丰富的库函数和...
"C语言实现十进制至十六进制的转换" C语言实现十进制至十六进制的转换是编程中常见的任务之一。本文将详细介绍C语言实现十进制至十六进制的转换的方法及思路。 一、方法一:使用scanf和printf函数 在这个方法中,...
十进制转化成十六进制说起来是哥比较简单的问题,如果我要你把一个十进制的东西转化成一个十六进的的数字表示,也是一个比较麻烦的事情,这个js代码是比较方便使用,直接下载下来就可以看。具体操作十分的方便,只要...
### 十进制与十六进制的转换及数据结构应用 #### 一、知识点概述 在计算机科学领域,数据在存储、处理时往往需要在不同的数值系统之间进行转换,其中最为常见的就是十进制(Base-10)与十六进制(Base-16)之间的...
易语言模块十进制转化为十六进制5.rar 易语言模块十进制转化为十六进制5.rar 易语言模块十进制转化为十六进制5.rar 易语言模块十进制转化为十六进制5.rar 易语言模块十进制转化为十六进制5.rar 易语言模块十...