試題 基礎練習 十六進製制轉十進位制

2021-10-19 08:14:50 字數 668 閱讀 8011

問題描述

從鍵盤輸入乙個不超過8位的正的十六進製制數字串,將它轉換為正的十進位制數後輸出。

注:十六進製制數中的10~15分別用大寫的英文本母a、b、c、d、e、f表示。

樣例輸入

ffff

樣例輸出

65535

有兩種方法

第一種

直接使用%x輸入然後使用%lld輸出這種不推薦比較投機

第二種

定義乙個字元陣列用來存放輸入的16進製制數,再判斷陣列的ascll值若是在48-59之間則說明輸入的16進製制數是0-10只需-48便是對應的十進位制數,否則需-55才是對應的十進位制數,最後定義乙個初始值為0的sum變數累加起來便是結果

**如下(示例):

i#include

#include

#include

intmain()

else

}printf

("%lld"

,sum)

;return0;

}

16進製制轉換為10進製如果使用數學方法來算很簡單,轉換為c語言也是類似陣列有多長就表示16進製制數有多長,轉換為10進製就是從最高位開始每一位的本身的本身-1次方累加便是對應的10進製數

試題 基礎練習 十六進製制轉十進位制

試題 基礎練習 十六進製制轉十進位制 資源限制 時間限制 1.0s 記憶體限制 512.0mb 問題描述 從鍵盤輸入乙個不超過8位的正的十六進製制數字串,將它轉換為正的十進位制數後輸出。注 十六進製制數中的10 15分別用大寫的英文本母a b c d e f表示。樣例輸入 ffff 樣例輸出 655...

試題 基礎練習 十進位制轉十六進製制

問題描述 十六進製制數是在程式設計時經常要使用到的一種整數的表示方式。它有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f共16個符號,分別表示十進位制數的0至15。十六進製制的計數方法是滿16進1,所以十進位制數16在十六進製制中是10,而十進位制的17在十六進製制中是11,以此類推...

基礎練習 十六進製制轉十進位制

問題描述 從鍵盤輸入乙個不超過8位的正的十六進製制數字串,將它轉換為正的十進位制數後輸出。注 十六進製制數中的10 15分別用大寫的英文本母a b c d e f表示。樣例輸入 ffff 樣例輸出 65535 思路 設十六進製制位數為n,十六進製制的第i位乘以10的n i次方。使用函式pow比較簡單...