16進位制字串轉換成數字的問題,C ,16進位制轉化問題,字串轉化成數字

2023-01-15 12:30:14 字數 5293 閱讀 7663

1樓:匿名使用者

long ltemp = strtol("0xa10b", null, 16);

這樣的話,就將0xa10b這個十六制形式的字串轉為十進位制的數字了.

注:strtol的功能就是將字串轉為數字,而後面的16就是進位制,根據需要,你可以是二進位制,八進位制,十進位制,或是十六進位制應該都是可以的.

2樓:匿名使用者

如果出現以下情形之一,則丟擲 numberformatexception 型別的異常:

1.第一個引數是 null 或零長度的字串。

2.radix 小於 character.min_radix 或者大於 character.max_radix。

3.任何字串的字元都不是指定基數的數字,除非第一個字元是減號 '-' ('\u002d'),假定字串的長度大於 1。

4.字串表示的值不是 long 型別的值。

long的取值範圍:-9223372036854775807 ~ 9223372036854775808

小於ffffffffffffffff的值 顯然無法轉換了

c++,16進位制轉化問題,字串轉化成數字

3樓:匿名使用者

方法1:

#include

int main()

主要用到sscanf這個庫函式:

函式名: sscanf

功 能: 執行從字串中的格式化輸入

用 法: int sscanf(char *string, char *format[,argument,...]); //%x就是我們要格式化的型別,即輸出十六進位制

方法2:

#include

#include //strtol標頭檔案

int main()

主要用到strtol這個庫函式,它的使用方法是:

函式名: strtol

功 能: 將串轉換為長整數

用 法: long strtol(char *str, char **endptr, int base);//base指明我們要轉換為幾進位制數

4樓:匿名使用者

不明你什麼意思,能再清晰地描述一下嗎?

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

5樓:會飛的小兔子

#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;}

6樓:匿名使用者

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

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

7樓:董俊錕

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

8樓:放狗大師

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

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

9樓:紫翼魔狼

/* strtol example */

#include #include int main ()

10樓:匿名使用者

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

11樓:

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

12樓:匿名使用者

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;}

13樓:匿名使用者

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

if(bufhex<=9)\

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

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

excel中,什麼樣的公式可以把表示十六進位制數的字串轉為數字?

14樓:匿名使用者

公式=hex2dec()是將十

六進位制的數轉換成十進位制的數的。

公式=dec2hex()是將十進位制數轉換成十六進位制數的。

如果以上公式不可用,請按以下操作:

在「工具」選單上,單擊「載入巨集」。選中「分析工具庫」框,再單擊「確定」。

15樓:匿名使用者

使用函式hex2dec()

在delphi下,怎麼能快速的將16進位制字串轉化為整型量

16樓:匿名使用者

兩種方法:假設16進位制字串為「1f」

方法一: strtoint('0x' + 『1f』)

方法二:strtoint('$' + 『1f』)

17樓:水木葫蘆娃

varn, k:integer;

s : string;

begin

n := 255;

s := inttohex(n,2);

showmessage('255的16進製為: ' + s);

k := strtoint('$' + s);

showmessage('16進位制' + s + '的整型為:' + inttostr(k));

end;

end;

18樓:匿名使用者

/r 加前頭 然後直接轉換

16進位制字串轉換為數字,這段**有點看不懂,請教一下高手,謝謝!

19樓:匿名使用者

uint32 atoitok(char *digit_str, uint8 digit_len)

else if ((*digit_str >= 'a') && (*digit_str <= 'f'))

else

number = number * 10 + temp_value; //將前次得到的結果*10後加上這位的數值

digit_str++; //下一個字元

digit_len--; //字元數減一

}return number;

}程式中number=number*10+temp_value;是轉換10進位制的計算方法,對於16進位制數應該是number=number*16+temp_value;

比如輸入的是1a5,number經過三次迴圈分別等於:1,1*16+10=26,26*16+5=421

如何將一個16進位制字串轉化成10進位制字串

20樓:信玄居士

16進位制轉10進位制:

像10進位制數一樣的說,把16進位制數看成有個位數,十位數,百位數……將「個位數」乘上16的0次方(*16^0),將「十位數」乘上16的1次方(*16^1),將「百位數」乘上16的2次方(*16^2),…………

最後將所有上面得到的數加起來就是他的十進位制數了例如:將16進位制的 (10a) 轉換成10進位制的數a*1=10

0*16=0

1*16^2=256

所以所得的數為10+0+256=266

10進位制轉16進位制:

這個有點麻煩……

將給定的十進位制整數除以基數16,餘數便是等值的16進位制的最低位。

將上一步的商再除以基數16,餘數便是等值的16進位制數的次低位。

重複上一步驟,直到最後所得的商等於0為止。各次除得的餘數,便是16進位制各位的數,最後一次的餘數是最高位

例如:10進位制的 (100) 變為16進位制先把100除以16,得到6餘數為4,則「個位數」為4;

用6除以16,得到0餘數為6,則「十位數」為6。所以100的16進製為「64」。

依此類推。

注:a=10 b=11 c=12 d=13 e=14 f=15

sql 中to_number將數字字串轉換成了16進位制,有沒有辦法轉換成10進位制?

16進位制轉成同樣格式顯示的字串?

21樓:

char buf[(hexstr_len+1)*2+1];

int i;

for(i=0;i

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

由於資料在計算機中的表示,最終以二進 制的形式存在,所以有時候使用版二進位制,可權以更直觀地解決問題。但,二進位制數太長了。比如int 型別佔用4個位元組,32位。比如100,用int型別的二進位制數表達將是 0000 0000 0000 0000 0110 0100 面對這麼長的數進行思考或操作,...

c字串如何轉化為數字C,怎麼把字元轉換成數字

你可以叫 stringstream 和 vector 幫忙。下面的 裡 dbl array 既是你要建立的實數陣列 real 代表你讀到的字串 include include include using namespace std int main 值得一提的是,vector 可以被當成陣列來用,而...

數字「192」轉換成二進位制數,再轉換成十進位制

192轉換為二進位制數方法是除2取餘反向輸出如下 192 2 商96 餘0 96 2 商48 餘0 48 2 商24 餘0 24 2 商12 餘0 12 2 商6 餘0 6 2 商3 餘0 3 2 商1 餘1 1 2 商0 餘1 結果為 11000000 再轉換為十進位制是,從最右邊開始 2 0 0...