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 位...