2 oyangzi12 oYangZi12 于 2016.04.06 12:35 提问

c++中 int十进制数如何转int 16进制数
c++

例如,我有int a = 100;但是我要获得int b = 0x100;如何把a转换成b。

7个回答

bdmh
bdmh   Ds   Rxr 2016.04.06 12:40

你这个只能是转成16进制字符串,如果是数值的话,你可以直接这样写,在内存中,不管什么进制,都是以二进制表示

CSDNXIAON
CSDNXIAON   2016.04.06 12:41

int转6位16进制数。
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

qq423399099
qq423399099   Ds   Rxr 2016.04.06 12:43

不妨看看 char *itoa( int value, char *string,int radix);
第三个参数是进制

beifengche
beifengche   2016.04.06 12:54

可以先转换成字符串,然后通过字符串再转换成八进制数。

sunnylinner
sunnylinner 好奇,求大神详细点
2 年多之前 回复
qq_24388343
qq_24388343   2016.04.06 13:26

不太明白你的意思,是将所有的int 型的十进制转换成十六进制?还是什么?

fu851523125
fu851523125   2016.04.06 20:23

十进制换十六进制,按照你的意思,每个位数上的数值不变,
所以也很简单,10 换16即可

100 = 1 * 10^2 + 0 * 10 ^1 + 0 * 10 ^0

0x100 = 1 * 16^2 + 0 x 16^1 + 0 * 16^0

HOLY3KILL
HOLY3KILL   2016.04.07 18:24

不知道LZ的需求是什么,如果你是需要输出的话可以用

 cout<<hex<<a;

如果你是希望自己写一个函数模块来实现将int a=100转为int b = 64//16进制的100推荐这篇帖子
http://bbs.csdn.net/topics/390562178?page=1

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
MFC总结(19) --- CStrig转换成十六进制数
在进行PE中的文件偏移转换的时候,用到了CString和十六进制的数转换。 1)将CString转换成十六进制数,我们可以通过StrToIntEx函数来完成。 BOOL StrToIntEx( _In_ PCTSTR pszString, STIF_FLAGS dwFlags, _Out_ int *piRet );
char型数据存储成Int(16进制值相互转换)
在一个报文里面以两个字节来存储一个数据,表示整形的数据。方法如下: #include using namespace std; int main() { char a=0x80; char b=0x00; cout<<(int)(a|b<<8)<<endl;//出问题了,本来应该是128,结果成了-128 cout<<(int)((unsigned char)a|(unsigned
将一个任意输入的10进制数转化为16进制形式输出
//将一个任意输入的10进制数转化为16进制形式输出 #include #define MAXSIZE 11 void ten20x(unsigned int a,char *p) {     int i;     int j = 2;     int sum = 0;     int count = 0;     unsigned int mask = 0x80000000
将十六进制数QString转换为int型整数(比如将QString型的"F1"转换为int型是241)
本文章主要总结QString字符串中存放一个十六进制数,将该十六进制数转换为一个int型十进制数(比如将QString型的"F1"转换为int型的241)。1.1比如将QByteArray第0字节中的字母F转换为十进制整数是15,用到的函数是toInt(NULL,16)。当将连续两个字母转换为十进制整数后,可以组合形成一个字节的十六进制数,即0xF1,可以通过公式IntNum=F*16+1*16,
arduino十进制转十六进制
以下是arduino十进制转十六进制的方法,如果有什么可以改进的地方请留言 打印 Serial.print(inByte, HEX); 十进制转十六进制 //十进制转十六进制 String tohex(int n) { if (n == 0) { return &quot;00&quot;; //n为0 } String result = &quot;&quot;; char _16[] =...
面试题: 十进制INT数字转化为16进制字符串、实现字符串和数字的相互转化
自己练练了手,写了两个程序: 第一个:十进制的数字转化为16进制 int main(int argc, _TCHAR* argv[]){    int a = 100000000, i = 0, b;    int c[8] = {0};    printf("%10.4x ", a);    while (a) {        b = a - (a>
将一个字节中的数据(16进制),转为有符号的十进制数
将一个字节中的数据(16进制),转为有符号的十进制数 result=byteRecvData[1]    if (byteRecvData[11]>>7==0x01)    {                  result =result-65536;    } 得到result
CString转十六进制数字
借用strtol函数可以直接将一个CString对象转化为任意数制的整数。 比如: CString st = "20"; int n = strtol(st,NULL,16); strtol函数原型: long int strtol(const char *nptr,char **endptr,int base); 参数base范围从2至36,或0。参数base代表
c 十进制数转十六进制
有3种方式实现,其中两种是使用系统函数,另一种是直接自己编写。 使用系统函数实现要加入#include stdlib.h>,自己编写则不需要这个头文件。 下面的代码就是3种方式的实现,包括2位的整数和任意整数(2的31次方以内)都可以。可自己选择需要的实现方式。 利用系统函数有 1. char *  itoa ( int value, char * str, i
用C语言编写一个程序将输入的十进制数转化成16进制?
你可以设置一个字符串数组 char HEX[16] = {'0', '1', '2', 3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'} 以后你得出的数字,比如余数y是10,那么HEX[y]打印出来就是A了 例子(现写的) int now; int res[100];//答案 int c = 0;//位数 输入到