怎麼把字串轉換成16進位制資料,怎麼把一個字串轉換成16進位制資料

2021-05-10 20:50:38 字數 5633 閱讀 4797

1樓:金色潛鳥

要看你的字串bai是怎du麼寫的。

例如:zhi char s="07bc3a";

int v;

你可以用 sscanf(s,"%x",&v); 變成整型值dao,存入 v.

你也可以用 strtol 函式,

專 v = strtol(s, null, 16); 賦給 v.

列印屬16進位制數值: printf("%#x", v);

將一個字串怎麼轉化成十六進位制數

2樓:名動漫家的老王

主要有兩個方法,其實都是對現有函式的使用:

方法1: sscanf()

函式名: sscanf

功 能: 從字串格式化輸入

用 法: int sscanf(char *string, char *format[,argument,...]);

以上的 format 為 %x 就是將字串格式化為 16 進位制數例子:#include

void main()

輸出:26

方法2: strtol()

函式名: strtol

功 能: 將字串轉換為長整數

用 法: long strtol(char *str, char **endptr, int base);

上面的base就是我們要轉換為幾進位制數

例子:#include

#include

void main()

輸出:27

其實還有一種方法,就是用一個初始化為0~9~a~f的字串陣列,也就是一個十六進位制對應表,用這個對應表即可算出一個十六進位制字串的數值,但這種發發太麻煩了,不推薦使用。

c語言中如何將某個字串轉為16進位制ascii碼並輸入到另一個字串中?

3樓:

用sprintf()函式就可制以了。

sprintf(*dst,"%x",bai*src)

dst:目標字du符串zhi

4樓:av守望者

#include

#include

#include

char result[100];

result[0]=null;

void toascii_16(char from,int size,char *result)}

怎麼把一個字串轉換成16進位制資料

5樓:匿名使用者

由於資料在計算機中的表示,最終以二進

制的形式存在,所以有時候使用版二進位制,可權以更直觀地解決問題。但,二進位制數太長了。比如int 型別佔用4個位元組,32位。

比如100,用int型別的二進位制數表達將是:0000 0000 0000 0000 0110 0100 面對這麼長的數進行思考或操作,沒有人會喜歡。

用16進位制或8進位制可以解決這個問題。因為,進位制越大,數的表達長度也就越短。不過,為什麼偏偏是16或8進位制,而不其它的,諸如9或20進位制呢?

2、8、16,分別是2的1次方,3次方,4次方。這一點使得三種進位制之間可以非常直接地互相轉換。8進位制或16進位制縮短了二進位制數,但保持了二進位制數的表達特點。

怎麼把一個字串轉換成16進位制資料

6樓:匿名使用者

#include

int fun(char *s,int n)return r;

}void main()

c語言如何把一個字串轉換成數字?

7樓:手機使用者

c語言有atoi、atol、atof等庫函式,可分別把ascii編碼的字串轉化為int、long、float型別的數字。

標頭檔案:stdlib.h

函式原型:int atoi(const char* nptr);

(另外兩個類似)

舉個例子:

char *str="123";

int num=atoi(str);

執行後,num的值被初始化為123

8樓:幻翼高達

c語言中,可以使用atoi函式將字串轉換為數字,如atoi("123")可以得到數字123。

atoi (表示 ascii to integer)是把字串轉換成整型數的一個函式,應用在計算機程式和辦公軟體中。int atoi(const char *nptr) 函式會掃描引數 nptr字串,會跳過前面的空白字元(例如空格,tab縮排)等。

如果 nptr不能轉換成 int 或者 nptr為空字串,那麼將返回0。特別注意,該函式要求被轉換的字串是按十進位制數理解的。atoi輸入的字串對應數字存在大小限制(與int型別大小有關),若其過大可能報錯-1。

9樓:匿名使用者

#include

#include

#include

char str[1000];

int* change(char *str)number = (int*) malloc( sizeof(int) * (n+1) );

//上面這

一段用來分析一共有多少個數,以此分配空間

n = i = j = 0;

while (str[i])

number[0] = n;

return number;

}int main()

10樓:匿名使用者

**如下,應該存放在b[10]陣列中

#include

#include

#include

int main()

;int b[10];

int i,j;

int flag=0;

int n;

int num;

for(i=0;!flag;i++)

else

num+=(a[i][j]-48)*pow(16,(n-j-1));

}b[i]=num;

if(num==0)

flag=1;

} *(b+i)=-1;

for(i=0;*(b+i)!=-1;i++)return 0;}

11樓:匿名使用者

char a[100];

int b[100];

for(i=0;i<100;i++)

b[i]=a[i]-'0';

這樣就可以了

12樓:俺做有錢人

//輸入任意一個數字,轉換為字串輸出

13樓:匿名使用者

應用強制轉化

例如「char a='a';

int (a);

」這樣輸出的是a的ascii碼,值為97。

用atoi() 函式可以的

14樓:匿名使用者

應用強制轉化

例如「char a='a';

int (a);

」輸出的a應該就是數字了

c語言如何把11位16進位制字串轉成16進位制數? 5

15樓:會飛的小兔子

#include

#include

voidmain()

//輸出值為27

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

擴充套件資料c語言十進位制轉2~16進位制

#include

voidtrans(intdata,intbase)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)

trans(num,base);

printf("\n");

return0;}

16樓:匿名使用者

主要有兩個方法,其實都是對現有函式的使用:

1、方法1: sscanf()

函式名: sscanf

功  能: 從字串格式化輸入

用  法: int sscanf(char *string, char *format[,argument,...]);

以上的 format 為 %x 就是將字串格式化為 16 進位制數例子:#include

void main()

輸出:26

2、方法2: strtol()

函式名: strtol

功  能: 將字串轉換為長整數

用  法: long strtol(char *str, char **endptr, int base);

上面的base就是我們要轉換為幾進位制數

例子:#include

#include

void main()

輸出:27

17樓:董俊錕

初一看,還以為是要把11進位制數轉化為16進位制數,其實16進位制數就是由0~9十個數字以及a~f六個字母組成上面就是16進位制數,我猜你是要把它改為純數字表示,因為我們已經看慣了十進位制數

18樓:放狗大師

恐怕沒有函式可以直接用了。

自己寫個函式遍歷字串即可。

19樓:紫翼魔狼

/* strtol example */

#include #include int main ()

20樓:匿名使用者

使用strtol這個方法應該可以實現你要的功能

21樓:

寫程式自己算就可以了呀,自己能寫不?

22樓:匿名使用者

char sztmp[12] = ;

__int64 nret = 0;

for (int i = 10; i >= 0; i--)else if (sztmp[i] >= 'a' && sztmp[i] <= 'f')

else

for (int j = 10; j > i; j--)nret += ntmp;}

23樓:匿名使用者

#define usrprinthex(hex) {byte bufhex; bufhex=hex>>4;\

if(bufhex<=9)\

puart->write('0'+bufhex);

else puart->write('a'+bufhex-0x0a);\

如何將字串轉換成十六進位制資料,怎麼把字串轉化為十六進位制字串java

字元型別是整型型別的一種,將其轉換成int型別,然後再輸出十六進位制形式即可。下面是一個示例程式。include using namespace std int main char str test hello world n int limit strlen str test for int in...

python怎麼把字串轉換成數字

整數字符 串來轉換為對應源的整數 int 12 小數字bai符串du轉換為對應小數 float 12.34 數字轉換為字串 str 123.45 ascii碼轉換為相應 zhi字元 chr 97 字元轉dao換為響應ascii碼 ord a int 123 123 python 字元與數字如何轉換 ...

c中如何將整數轉換成十六進位制的字串

1 首先開啟vc6.0,新建一個專案。2 新增標頭檔案。3 新增main主函式。4 定義無符號char型別變數str,strh。5 定義int變數i,j。6 將str字元轉換為十六進位制並新增到strh中。7 使用printf列印即可。用字串流就可以。include include std stri...