问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言编程 把十进制转换为十六进制

发布网友 发布时间:2022-04-22 03:45

我来回答

11个回答

懂视网 时间:2022-04-21 10:18

-(void)color:(NSString *) red andGreen:(NSString*) green andBule:(NSString*) bule{ NSInteger Red = [red integerValue]; NSInteger Green = [green integerValue]; NSInteger Bule = [bule integerValue]; NSInteger colorsize = Red<<16 | Green << 8 | Bule; NSString * Color = [NSString stringWithFormat:@"#%06lx",colorsize]; NSLog(@"%li",(long)colorsize); NSLog(@"Color = %@",Color);}

热心网友 时间:2022-04-21 07:26

方法一:

#include<iostream>
#include <string>
using namespace std;


string DecIntToHexStr(long long num)
{string str;long long Temp = num / 16;int left = num % 16;if (Temp > 0)str += 

DecIntToHexStr(Temp);if (left < 10)str += (left + '0');elsestr += ('A' + left - 10);return str;}
string DecStrToHexStr(string str){long long Dec = 0;for (int i = 0; i < str.size(); ++i)Dec = 

Dec * 10 + str[i] - '0';return DecIntToHexStr(Dec);}int main()
{string DecStr;while (cin >> DecStr){cout << "0x" + DecStrToHexStr(DecStr);}return 0;}

方法二:


#include<iostream>
#include <string>
#include<vector>


#include <sstream>
#include <math.h>
using namespace std;int main()


{string decStr;cin >> decStr;int num = stoi(decStr);vector<int>v;while (num){int bit = num % 2;v.push_back(bit);num = num / 2;}


reverse(v.begin(), v.end());string hexStr;if (v.size() % 4 == 0){for (int i = 0; i < v.size() / 4; ++i){int temp = 0, k = 3;for (int j = i * 4; j < (i + 

1) * 4; ++j){if (v[j] == 1)temp += pow(2, k);--k;}   if (temp <= 9)hexStr += temp;elsehexStr += ('A' + temp - 10);}}

else{int zeroNum = 4 - v.size() % 4;for (int i = 0; i < zeroNum; ++i)v.insert(v.begin(), 0);for (int i = 0; i < v.size() / 4; ++i){int temp = 0, k = 3;for 

(int j = i * 4; j < (i + 1) * 4; ++j){if (v[j] == 1)temp += pow(2, k);--k;}
if (temp <= 9){stringstream ss;string strTemp;

ss << temp;ss >> strTemp;hexStr += strTemp;}elsehexStr += ('A' + temp - 10);}}cout << hexStr << endl;return 0;}

扩展资料:


还有3种方式可以实现,其中两种是使用系统函数,另一种是直接自己编写。

下面的代码就是3种方式的实现,包括2位的整数和任意整数(2的31次方以内)都可以。可自己选择需要的实现方式。

利用系统函数有

1. char *  itoa ( int value, char * str, int base );value是要转化的数字,str是转化后的字符串存储的位置,base是进制数(但是这个函数不是标准C函数,有些编译器是不支持的!)。所以代码可以为:

char buffer [33]; //用于存放转换好的十六进制字符串,可根据需要定义长度 char * inttohex(int aa){    itoa (aa, buffer, 16);    return (buffer);} 

2. sprintf(str,"%x",value);str是转化存储的位置,%x表示十六进制格式,value是要转化的数字。所以代码可以为:

char buffer [33]; //用于存放转换好的十六进制字符串,可根据需要定义长度 char * inttohex(int aa){    sprintf(buffer, "%x", aa);    return (buffer);}

3. 自己编写

如果参数只要两位数的整数,那么很简单。

代码如下:

#include <stdio.h>#include <stdlib.h> char buffer [33]; //用于存放转换好的十六进制字符串,可根据需要定义长度 char * inttohex(int aa)

{    sprintf(buffer, "%x", aa);    return (buffer);} int main ()                

{  int num;  char * hex_str;  printf ("Enter a number: ");  scanf ("%d",&num);  hex_str = inttohex (num);  printf ("Hexadecimal number: %sH\n", hex_str);  return 0;}

热心网友 时间:2022-04-21 08:44

1、方法一:使用进制转换。

2、方法二:可以使用sscanf函数将以字符串形式的十六进制数转换为整型的十六进制。

sscanf函数的用法与printf函数很像,都是以格式化的形式进行操作。例如如下的例子中sscanf("A23CD", "%x", &a);"%x"是将字符串A23CD以十六进制形式输入a中,如果将"%x"换成为"%d"的话,就是将字符串A23CD以十进制形式输入a中,这显然是错误的,因为将A23CD转换为十进制的时候,无法解析A,CD等字符,所以得出的结果就是错误的。

扩展资料

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

参考资料

C语言-百度百科

热心网友 时间:2022-04-21 10:19

付费内容限时免费查看回答十六进制转十进制,方法如下:

16进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……

所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方。

例:2AF5换算成10进制:

用竖式计算:

第0位: 5 * 16^0 = 5

第1位: F * 16^1 = 240

第2位: A * 16^2= 2560

第3位: 2 * 16^3 = 8192

直接计算就是:

5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997

☺️☺️☺朋友,️如果对您有帮助的话,麻烦给个赞,谢谢。

热心网友 时间:2022-04-21 12:10

程序如下:

#include<stdio.h> main()

{    int u10;    char u16[10];  

int w=0,a,b,i; 

printf("请输入一个数字-->");  

scanf("%d",&u10);    

if(u10==0)   

{        u16[0]='0';        w++;    }   

else    {        a=u10;   

while(a)        {            b=a%16;  

if(b<10)            {                u16[w]='0'+b;            }   

else            {                u16[w]='A'+b-10;            }           

a=a/16;            w++;        }    }   

printf("\n");   

printf("%d(10)转换为16进制数字为:",u10); 

for(i=w-1;i>=0;i--)    {        printf("%c",u16[i]);  

}    printf("\n");}

扩展资料 

十六进制(英文名称:Hexadecimal),是计算机中数据的一种表示方法。同我们日常生活中的表示法不一样。它由0-9,A-F组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9;A-F对应10-15;N进制的数可以用0~(N-1)的数表示,超过9的用字母A-F。

程序的表达方法环境 格式备注URL%hex无 XML,XHTML&#xhex无HTML,CSS#hex6位,表示颜色UnicodeU+hex6位,表示字符编码MIME=hex无Mola-2#hex无Smalltalk,ALGOL 6816rhex无Common Lisp#xhex或#16rhex无IPv68个hex用:分隔无C C++的表达方法。

如果不使用特殊的书写形式,16进制数也会和10进制相混。随便一个数:9876,就看不出它是16进制或10进制。

C,C++规定,16进制数必须以 0x开头。比如 0x1表示一个16进制数。而1则表示一个十进制。另外如:0xff,0xFF,0X102A,等等。其中的x也不区分大小写。(注意:0x中的0是数字0,而不是字母O)

参考资料 十六进制 百度百科 C语言 百度百科

热心网友 时间:2022-04-21 14:18

编程程序如下:

#include<stdio.h> main(){    int u10;    char u16[10];    int w=0,a,b,i;         printf("请输入一个数字-->");    scanf("%d",&u10);    if(u10==0)    {        u16[0]='0';        w++;    }    else    {        a=u10;        while(a)        {            b=a%16;            if(b<10)            {                u16[w]='0'+b;            }            else            {                u16[w]='A'+b-10;            }            a=a/16;            w++;        }    }    printf("\n");    printf("%d(10)转换为16进制数字为:",u10);    for(i=w-1;i>=0;i--)    {        printf("%c",u16[i]);    }    printf("\n");}

扩展资料

十六进制转换十进制

16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这六个字母来分别表示10,11,12,13,14,15。字母不区分大小写。

十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方,以此类推。在第N(N从0开始)位上,如果是数β (β大于等于0,并且β小于等于 15,即:F)表示的大小为 β×16的N次方。

假设有一个十六进数 2AF5直接计算就是:5×160+F×161+A×162+2×163=10997

参考资料 百度百科-十六进制

热心网友 时间:2022-04-21 16:43

#include <stdio.h>#include <stdlib.h> char buffer [33]; //用于存放转换好的十六进制字符串,可根据需要定义长度 char * inttohex(int aa){    sprintf(buffer, "%x", aa);    return (buffer);} int main (){  int num;  char * hex_str;  printf ("Enter a number: ");  scanf ("%d",&num);  hex_str = inttohex (num);  printf ("Hexadecimal number: %sH\n", hex_str);  return 0;}

扩展资料:

16进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……

所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方。

例:2AF5换算成10进制:

用竖式计算:

第0位: 5 * 16^0 = 5

第1位: F * 16^1 = 240

第2位: A * 16^2= 2560

第3位: 2 * 16^3 = 8192

-------------------------------------

10997

直接计算就是:

5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997

16进制到二进制

由于在二进制的表示方法中,每四位所表示的数的最大值对应16进制的15,即16进制每一位上最大值,所以,我们可以得出简便的转换方法,将16进制上每一位分别对应二进制上四位进行转换,即得所求

参考资料:十六进制转换

热心网友 时间:2022-04-21 19:24

稍等一会儿好吗~~

终于整完了,已经运行过了,有什么问题请留言。

#include<stdio.h>

main()
{
int u10;
char u16[10];
int w=0,a,b,i;

printf("请输入一个数字-->");
scanf("%d",&u10);
if(u10==0)
{
u16[0]='0';
w++;
}
else
{
a=u10;
while(a)
{
b=a%16;
if(b<10)
{
u16[w]='0'+b;
}
else
{
u16[w]='A'+b-10;
}
a=a/16;
w++;
}
}
printf("\n");
printf("%d(10)转换为16进制数字为:",u10);
for(i=w-1;i>=0;i--)
{
printf("%c",u16[i]);
}
printf("\n");
}

热心网友 时间:2022-04-21 22:22

#include<stdio.h>
int main() {
    int a, b, i;
    char s[10];

    scanf("%d",&a);

if(a == 0)
{
    printf("0\n");
    return 0;
}

i = 0;
while(a > 0)
    {
        b = a%16;
        if(b < 10)
            s[i] = '0' + b;
        else
            s[i] = 'A' + b - 10;
        i++;
        a = a / 16;
    }

    for(i--; i >= 0; i--)
        printf("%c", s[i]);

return 0;
}

热心网友 时间:2022-04-22 01:37

#include <stdio.h>
int main(void)
{
int i,x,j,a[20];
while(1) //无限死循环标志,除非设置break
{
scanf("%d",&x);
if(x<0)
printf("0");
else break;
}
i=0;
while(x)
{
a[i]=x%16;
x=x/16;
i++;
}
for(j=i-1;j>=0;j--)
if(a[j]<=9)
printf("%d",a[j]);
else if(a[j]<=15)
printf("%c",a[j]+'A'-10);
printf("\n");
return 0;
}

热心网友 时间:2022-04-22 05:08

c语言编程 把十进制转换为十六进制
通过键盘输入一个十进制数,然后将其
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
水利水电工程单元工程施工质量验收评定标准——土石方工程(SL 631... 关于水利水电工程项目划分的规程有哪些?划分的越细越好,感谢大家的帮 ... 水利水电工程的单位工程包括哪些工程? 尖子生学案:生物高中选修3目录 U盘传了数据怎么删除电脑记录如何清除电脑上U盘使用记录 把u盘插电脑怎么删掉记忆如何删掉电脑上插过U盘的记录 win7清除u盘记录 如何清理win7电脑u盘痕迹如何清除电脑上U盘使用记录 麦当劳和华莱士的外卖电话是什么? 一文详解ISO/IEC20000信息技术服务管理体系认证好处、材料、流程 满分求个10进制转16进制的 简单转换工具 比如1200 ... 请教QT中怎么实现10进制数转换为16进制数 最好有代码 十进制怎么转16进制 工具方法? 用VB编写一个输入十进制转十六进制的程序怎么做? 十进制转十六进制转换的软件 请教10进制转16进制如何转? 计算器怎样算十进制转十六进制 拓牛智能垃圾桶怎样? 有没有直接将十进制转换十六进制的软件? 想用vb做个10进制转化16进制的软件 拓牛t3垃圾桶不能封袋怎么修 有把十进制转换成16进制的计算器吗 拓牛垃圾桶充电时插头没有完全进到孔里面 10进制转16进制的JAVA软件 拓牛智能垃圾桶 的颠覆性咋样? EKO和拓牛哪个好? 618快到了,想入手拓牛智能垃圾桶,时机适合吗? 为什么现在很多人都在买拓牛智能垃圾桶? 拓牛智能垃圾桶怎么样 拓牛垃圾桶恢复出厂设置 十进制转十六进制 急 十进制转换十六进制软件工具下载 VB 中怎么将 十进制转换成十六进制 十进制转换十六进制 苦丁茶可以减肥吗 苦丁茶有减肥功效吗 喝苦丁茶可以减肥吗? 苦丁茶能减肥吗? 苦丁茶可以减肥么 苦丁茶能减肥吗 为什么苦丁茶可以减肥? 长期喝苦丁茶可以减肥吗? 苦丁茶减肥 河南省普通高中学籍显示该学生不是在校生是什么意思 苦丁茶能减肥吗?怎么个喝法? 喝苦丁茶能减肥吗? 河南高中生转学学籍能转吗? 苦丁茶如何快速减肥? 河南省学籍辅号共几位 喝苦丁茶能减肥吗?