oracle產生十六進製制數

2021-06-12 05:23:26 字數 2862 閱讀 8803

1、建立seq,產生十進位制的序列號:

sql code?

1

2

3

4

5

6

7

8

createsequenceseq_hex

minvalue 0

maxvalue 10000000

startwith0

incrementby1

cache 20

cycle

order;

2、寫乙個函式,返回0-9 a-f的結果:

sql code?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

createorreplacefunctiongethexsequence

returnvarchar2

as

n_shang number(10);

n_yushu number(10);

hexres   varchar2(10);

begin

n_shang :=seq_hex.nextval;

if n_shang = 0then

return'00000';

endif;

while n_shang>0  loop

n_yushu:=n_shang mod 16;

selectconcat(decode(n_yushu,'10','a','11','b','12','c','13','d','14','e','15','f',n_yushu),hexres)intohexresfromdual;

n_shang := trunc(n_shang/16);

endloop;

returnlpad(hexres,5,0);

end;

3、程式中的呼叫:

sql code?

1

selectgethexsequencefromdual;

4、產生的結果如下:

sql code?

1

2

3

4

5

6

7

sql>selectgethexsequencefromdual;

gethexsequence

----------------------------------------

000ad

sql>

十六進製制轉八進位制數

問題描述 給定n個十六進製制正整數,輸出它們對應的八進位制數。輸入格式 輸入的第一行為乙個正整數n 1 n 10 接下來n行,每行乙個由0 9 大寫字母a f組成的字串,表示要轉換的十六進製制正整數,每個十六進製制數長度不超過100000。輸出格式 輸出n行,每行為輸入對應的八進位制正整數。注意 輸...

進製轉換 十進位制數轉十六進製制數

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

LeetCode十進位制數轉十六進製制數Swift

注意 給定的數確保在32位有符號整數範圍內。示例 1 輸入 26輸出 1a 示例 2 輸入 1輸出 ffffffff 思路 class solution while num 0 resnum 8 return res 備註 核心思想,利用二進位制轉十六進製制,使用位運算,每4位,對應1位16進製制數...