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

2021-03-03 20:44:25 字數 3938 閱讀 6357

1樓:匿名使用者

#include

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

}void main()

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

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的字串陣列,也就是一個十六進位制對應表,用這個對應表即可算出一個十六進位制字串的數值,但這種發發太麻煩了,不推薦使用。

如何將字串轉換成十六進位制資料

3樓:文化廚子

字元型別是整型型別的一種,將其轉換成int型別,然後再輸出十六進位制形式即可。下面是一個示例程式。

#include

using namespace std;

int main()

{ char str_test = "hello world\n";

int limit = strlen(str_test);

for (int inx=0; inx!=limit; ++inx)//用static_cast將字元型別轉成int型別cout<(str_test[inx])<<"\t";

cout<

程式執行結果:

4樓:匿名使用者

是純數字還是字元,如果是純數字,那就求餘數唄,如果有字元的話,不清楚

怎麼把一個字串轉換成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進位制縮短了二進位制數,但保持了二進位制數的表達特點。

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

6樓:手機使用者

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

標頭檔案:stdlib.h

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

(另外兩個類似)

舉個例子:

char *str="123";

int num=atoi(str);

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

7樓:幻翼高達

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

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

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

8樓:匿名使用者

#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()

9樓:匿名使用者

**如下,應該存放在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;}

10樓:匿名使用者

char a[100];

int b[100];

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

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

這樣就可以了

11樓:俺做有錢人

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

12樓:匿名使用者

應用強制轉化

例如「char a='a';

int (a);

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

用atoi() 函式可以的

13樓:匿名使用者

應用強制轉化

例如「char a='a';

int (a);

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

如何將一個字串轉成所需要的16進位制數字

14樓:匿名使用者

#include

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

}void main()

怎麼將字串轉換成16進位制的資料

15樓:金色潛鳥

c/c++ 語言用 stdlib.h 裡的 strtol函式,就可以了,第三個引數用16。

long int strtol (const char* str, char** endptr, int base);

也可以用 sscanf函式讀的方式轉int, 用%x格式輸出專。

也可以一個一個字元屬 按 %x格式輸出。

問題是你的字串如何表達你要表達的數值意思。

labview字串怎麼轉換成十六進位制顯示的字串

函式面板 字串 字串 數字轉換 16進位制字串轉數字,轉出來的數字預設為10進位制顯示,右鍵單擊數字控制元件,在屬性 格式與精度中選擇16進位制,就可顯示為16進位制數了。labview字串怎麼轉換成十六進位制顯示的字串 用資料轉換模組,ascii碼轉換 labview10進位制數轉16進位制字串 ...

python把16進位制字串轉化為16進位制數字比如

這個轉了十進位制又轉了十六進位制,都是string,而不是數值 print出來,是以string 輸出的。分享一個我以前的 比如hex.log 裡面是e3f2a1 就要往檔案out.bin裡寫 0xe3 0xf2 0xa1 import string hex file name hex.log bi...

1111轉換成16進位制怎麼算,把二進位制1110轉換為16進位制是多少求步驟

1全部二轉十六的簡單方法 8 4 2 1 權值相加法 要點 1 將二進位制數由低位到高位每 4 個1 節排開,1111 2 在二進位制數下面即可直接用加法寫出十六進位制的值 8421 上面在有 1 則添對應的權值為0則添0或不添。3 權值相加即得。如 11 01010 2 6a 16 低到高,4 位...