當前位置:首頁 » 編程語言 » c語言轉16進制字元串

c語言轉16進制字元串

發布時間: 2022-06-26 09:50:43

1. c語言字元串轉為16進制字元串

/*

我們正在組建區域網

CE D2 C3 C7 D5 FD D4 DA D7 E9 BD A8 BE D6 D3 F2 CD F8

Press any key to continue

*/

#include<stdio.h>
#include<string.h>

char*Change(char*t,char*s){
chari,chs;
for(i=0;s[i];++i){
chs=s[i]&0X0F;
t[3*i+2]='';
if(chs>9)t[3*i+1]=chs-10+'A';
elset[3*i+1]=chs+'0';
chs=(s[i]&0XF0)>>4;
if(chs>9)t[3*i]=chs-10+'A';
elset[3*i]=chs+'0';
}
t[3*i]='';
returnt;
}

intmain(){
char*s="我們正在組建區域網",t[60];//
printf("%s ",s);
printf("%s ",Change(t,s));
return0;
}

2. C語言,如何把字元串提取轉為十六進制,如字元串vF.2.3.a.b.C.d,提取後為0x0F

按照你的要求編寫的C語言程序如下

#include<stdio.h>

int main(){

char* str="vF.2.3.a.b.C.d";

char temp[5];

char hex[20][5]={0};

int i,j=0,a,k=0;

for(i=0;str[i]!='';i++){

if('A'<=str[i]&&str[i]<='F'||'a'<=str[i]&&str[i]<='f'||'0'<=str[i]&&str[i]<='9'){

temp[j++]=str[i];

}else{

if(j!=0){

temp[j]='';

sscanf(temp,"%x",&a);

sprintf(hex[k++],"0x%02X",a);

j=0;

}

}

}

if(j!=0){

temp[j]='';

sscanf(temp,"%x",&a);

sprintf(hex[k++],"0x%02X",a);

}

for(i=0;i<k;i++){

printf("hex[%d]=%s ",i,hex[i]);

}

return 0;

}

3. 用C語言編程實現10進制數值轉16進制字元串

根據10
進制
轉換為16進制的
規則
,編寫
C語言程序
將10進制數轉換為16進制數。
具體實現方法可參考如下程序:
#include<stdio.h>void
main(){
int
i,
x;
//
x表示欲轉換的10進制數
int
data[10],
index=0;
//
data數組存放轉換後的16進制數,index表示
下標
scanf("%d",
&x);
//
接受欲轉換的10進制數
for(i=0;
i<10;
i++)
//
對數組data進行初始賦值操作
data[i]
=
0;
printf("%d對應的16進制為:",
x);
//
反復相除取余,並將
余數
存放在data數組中
while(x>0)
{
data[index]
=
x%16;
x
=
x/16;
index++;
}
//
逆序輸出data數組中的元素,即為10進制數對應的16進制數
for(i=index-1;
i>=0;
i--)
printf("%d",
data[i]);
printf("\n");
}

4. C語言如何把11位16進制字元串轉成16進制數

#include<stdio.h>

#include<stdlib.h>

voidmain()

{

char*p="0x1b";

char*str;

longi=strtol(p,&str,16);

printf("%d ",i);

}

//輸出值為27

參數base代表採用的進制方式,如base值為10則採用10進制,若base值為16則採用16進制等。當base值為0時則是採用10進製做轉換,但遇到如』0x』前置字元則會使用16進製做轉換、遇到』0』前置字元而不是』0x』的時候會使用8進製做轉換。

(4)c語言轉16進制字元串擴展閱讀

C語言十進制轉2~16進制

#include<stdio.h>

voidtrans(intdata,intbase)

{

intx[64],k,i=0;

while(data)

{

x[i]=data%base;

data/=base;

i++;

}

for(k=i-1;k>=0;k--)

if(x[k]<10)

printf("%d",x[k]);

elseif(x[k]<=16)

printf("%c",'A'+x[k]-10);

}

intmain(void)

{

intnum,base;

scanf("%d%d",&num,&base);

if(base<=0||base>16)

{

printf("dataerror ");

return;

}

printf("number=%dbase=%d ",num,base);

trans(num,base);

printf(" ");

return0;

}

5. C語言字元數組如何轉成16進制

需要准備的材料分別有:電腦、C語言編譯器。

1、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。

6. C語言怎麼將一個十進制的整數轉換成十六進制的字元串

要轉成字元串 其實不需要自己寫多少程序 借用sprintf就可以了
char s[20];
int a;
scanf("%d",&a);
sprintf(s, "%x", a);

這樣 s中就是a的16進制字元串了。

7. 給一個C語言字元串轉16進制數的函數

呵呵,你是初學的吧,函數不能嵌套定義的,給你個完整的例子吧。
#include
#include
unsigned
long
f(char*
str)
{

unsigned
long
var=0;

unsigned
long
t;

int
len
=
strlen(str);

if
(var
>
8)
//最長8位

return
-1;

strupr(str);//統一大寫

for
(;
*str;
str++)

{

if
(*str>='A'
&&
*str
<='F')

t
=
*str-55;//a-f之間的ascii與對應數值相差55如'A'為65,65-55即為A

else

t
=
*str-48;

var<<=4;

var|=t;

}

return
var;
}
void
main()
{

printf("%x\n",
f("FE80"));
}

8. c語言怎麼將字元串轉為十六進制

字元串是什麼格式的內容,要怎樣的轉換。。。。。。。。。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~

9. 如何給一個C語言字元串轉16進制數的函數

多麻煩啊!
看好了:
#include<stdio.h>
int a;
char *str="1Af";
int main()
{
sscanf(str,"%x",&a);//%x為讀入16進制數,大小寫均可。sscanf是從c字元串中讀入變數。
printf("%i",a);
return 0;
}

10. c語言編程 把十進制轉換為十六進制

方法一:

#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'); else str += ('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; else hexStr += ('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; } else hexStr += ('A' + temp - 10); } } cout << hexStr << endl; return 0;}

(10)c語言轉16進制字元串擴展閱讀:


還有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 ", hex_str); return 0;}

熱點內容
c語言中的temp 發布:2025-02-05 02:43:08 瀏覽:123
阿里雲伺服器共享電腦 發布:2025-02-05 02:42:18 瀏覽:417
伺服器有多少台電腦 發布:2025-02-05 02:40:41 瀏覽:447
安卓手機為什麼最新微信安裝不了 發布:2025-02-05 02:31:03 瀏覽:106
安卓手機什麼時候開售 發布:2025-02-05 02:14:15 瀏覽:660
編程車模型 發布:2025-02-05 02:09:55 瀏覽:681
雅馬哈天劍哪個配置好 發布:2025-02-05 02:00:35 瀏覽:170
我的世界國際服推薦118伺服器 發布:2025-02-05 01:50:48 瀏覽:46
普通電腦做伺服器怎麼操作 發布:2025-02-05 01:46:22 瀏覽:628
原神為什麼同伺服器加不起好友 發布:2025-02-05 01:41:03 瀏覽:337