使用 C 語言將十六進位制小數轉換為整數值
問題
如何使用 C 程式語言將十六進位制值轉換為整數值?
解釋概念.
解決方案
十六進位制值以 16 個符號 1 到 9 和 A 到 F 表示。此處,A 到 F 的十進位制等值為 10 到 15。
示例
以下是使用函式將十六進位制轉換為整數的 C 程式 -
#include<stdio.h>
#include<string.h>
#include<math.h>
int hextodc(char *hex){
int y = 0;
int dec = 0;
int x, i;
for(i = strlen(hex) - 1 ; i >= 0 ; --i)//{
if(hex[i]>='0'&&hex[i]<='9'){
x = hex[i] - '0';
}
else{
x = hex[i] - 'A' + 10;
}
dec = dec + x * pow(16 , y);// converting hexadecimal to integer value ++y;
}
return dec;
}
int main(){
char hex[100];
printf("Enter Hexadecimal: ");
scanf("%s", hex);
printf("
Decimal: %d", hextodc(hex));
return 0;
}輸出
執行上述程式後,會產生以下結果 -
1. Enter Hexadecimal: A Decimal: 10 2. Enter Hexadecimal: A12 Decimal: 2578
解釋
從右到左掃描十六進位制的所有字元
讓掃描到的字元為 A。
將 A 轉換為適當的十進位制形式並將其儲存在 x 中。
dec = dec + x * 16y
y= y + 1。
返回十進位制數。
我們也可以從左到右掃描十六進位制值,但是,我們必須將 y 初始化為 y = N – 1,並在每次迭代時將 y 減 1。N 是十六進位制的長度。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP