十進位制於十六進製制的互相轉換

2021-09-29 21:34:03 字數 1691 閱讀 9698

問題描述

十六進製制數是在程式設計時經常要使用到的一種整數的表示方式。它有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,以此類推,十進位制的30在十六進製制中是1e。

給出乙個非負整數,將它表示成十六進製制的形式。

輸入格式

輸入包含乙個非負整數a,表示要轉換的數。0<=a<=2147483647

輸出格式

輸出這個整數的16進製表示

樣例輸入

30樣例輸出

1e

今天先來個簡單的吧十進位制轉十六進製制題目中說要輸入乙個不超過2147483647的數字,那我們就來看看int,long int, long long int 的區別吧:

型別名稱 位元組數 取值範圍

signed char 1 -128~+127

short int 2 -32768~+32767

int 4 -2147483648~+2147483647

long int 4 -2147483648~+2141483647

long long long int 8 -9223372036854775808~+9223372036854775807

unsigned 4 0~4,294,967,294

所以這道題我們用int就夠了

#include

main()

試一下:

妥妥的ᕦ(・ㅂ・)ᕤ

接下來第二道題,go go go!

問題描述

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

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

樣例輸入

ffff

樣例輸出

65535

這道題和上一題對比一下,可以肯定8000000作為輸入的話絕對會**,就像這樣:

所以,我就愉快的用了long long,嗯嗯,完美。

#include

main()

做完之後發現網上的大神都是這樣做的:

#include

#include

#include

intmain()

} index =

(double

)s_n;

for(i =

0; i < s_n; i++)if

(sum ==0)

else

}for

(i = len -

1; i >=

0; i--

)return0;

}

emmmmm。。。有點複雜。。。今天就這樣了。愉快地湊夠1000字,溜啦溜啦─=≡σ(((つ•̀ω•́)つ

二進位制 十進位制 十六進製制互相轉換

今天看書講到十進位制 二進位制 十六進製制的互相轉換,自己試了下。十進位制和十六進製制互相轉換需要借助二進位製作為中間媒介。用到了stl標準庫的向量 佇列 字串。decimal2hex2decimal.cpp 定義控制台應用程式的入口點。include stdafx.h include includ...

十進位制 十六進製制

把十進位制整數轉換為十六進製制,格式為0x開頭,10 15由大寫字母a f表示。input 每行乙個整數x,0 x 2 31。output 每行輸出對應的八位十六進製制整數,包括前導0。sample input 0 1023 sample output 0x00000000 0x000003ff 水...

十進位制轉十六進製制(進製轉換)

問題描述 十六進製制數是在程式設計時經常要使用到的一種整數的表示方式。它有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,以此類推...