將十進位制整數轉換成16進位制字串的程式

時間 2021-05-23 04:06:11

1樓:

'轉換成二進位制字串

public function getbinary(byval dec as integer)

dim str_b as string

str_b = ""

do while dec > 0

str_b = trim(str(dec mod 2)) + str_b

dec = int(dec / 2)

loop

getbinary = str_b

end function

'轉換成八進位制字串

public function getoctal(byval dec as integer)

dim str_o as string

str_o = ""

do while dec > 0

str_o = trim(str(dec mod 8)) + str_o

dec = int(dec / 8)

loop

getoctal = str_o

end function

'轉換成十六進位制字串

public function gethex(byval dec as integer)

dim str_h as string

dim tmp as string

str_h = ""

do while dec > 0

ram = dec mod 16

select case ram

case 10

tmp = "a"

case 11

tmp = "b"

case 12

tmp = "c"

case 13

tmp = "d"

case 14

tmp = "e"

case 15

tmp = "f"

case else

tmp = trim(str(ram))

end select

str_h = tmp + str_h

dec = int(dec / 16)

loop

gethex = str_h

end function

2樓:覃松濤

#include

using namespace std;

int a[100];

void func2(int x)//x此處是10進位制數,轉化成二進位制

for(int k=i-1;k>=0;k--)

3樓:影孤清

如果你只是要將一個數轉換成2.8.16進位制的數就不需要用函式了.只要用輸出格式就行了.

例如:main()

這樣就能將16這個十進位制數轉換成八進位制的了.

十六進位制的為x.但對於二進位制的我也不知道,希望有高手能說一下,我也是c語言初學者.

c語言將一個十進位制的整數轉換成十六進位制的字串

4樓:匿名使用者

要轉成字串來

其實不需自要自己寫多少程式bai 借用sprintf就可以du了char s[20];

int a;

scanf("%d",&a);

sprintf(s, "%x", a);

這樣 s中就是

zhia的16進位制字元dao串了。

5樓:聽不清啊

#include

#include

int main()

;scanf("%d",&n);

sprintf(s,"%x",n);

printf("%d=%sh\n",n,s);

return 0;}

6樓:匿名使用者

要轉成字串bai

其實不需du要自己寫zhi多少程式 借用sprintf就可以dao了

char s[20];

int a;

scanf("%d",&a);

sprintf(s, "%x", a);

這樣 s中就版是a的16進位制字串了。權

c語言怎麼將一個十進位制的整數轉換成十六進位制的字串?

7樓:匿名使用者

要轉成字元

復串 其實不需要自己制寫多少程式 借用sprintf就可以了char s[20];

int a;

scanf("%d",&a);

sprintf(s, "%x", a);

這樣 s中就是a的16進位制字串了。

vb程式設計序實現一個十進位制數轉換成2、8、16進位制數。

8樓:匿名使用者

轉換成十六進位制 hex()

如:10(十進位制):hex(10)=a

轉換成8進位制oct()

如:10(十進位制):oct(10)=12

轉換成2進位制,使用下面的方法

'採用連除2取餘數,將一個十進位制數轉換為二進位制數dim dec as integer '輸入一個十進位制數dim bin as string '轉換為二進位制表示dim res as integer

dim i as integer

dec = val(inputbox("x="))form1.print "十進位制數:"; decdores = dec mod 2 '求出除以2的餘數bin = res & bin

dec = dec \ 2

loop while dec <> 0

form1.print "轉換為二進位制數為:"; bin

9樓:匿名使用者

十六進位制:hex(number)或使用&h字首

八進位制:oct(number)或使用&o字首

二、八、十六進位制轉為十進位制:

引數sdate為要進行轉換的數,stype為此數的型別。

如要將十六進位制的"7b"轉為十進位制: msgbox othertoshi("7b",16)

private function othertoshi(byval sdate as string, byval stype as long) as string

dim a as string, k as long, p as long

if trim(sdate)="" then msgbox "請輸入要轉換的數!" :exit function

on error goto exitsub

p = len(sdate)

select case stype

case 2

for k = 1 to p

if mid(sdate, k, 1) > 1 then goto exitsub

next

case 8

if isnumeric(sdate) = false then goto exitsub

sdate = round(sdate)

p=len(sdate)

case 16

for k = 1 to p

a = asc(lcase(mid(sdate, k, 1)))

if a < 48 or (a > 49 and a < 97) or a > 102 then goto exitsub

next

case else '按你說的操作,此句好象可免

msgbox "指定轉換的型別不正確,請重新輸入!": exit function

end select

k = 0

do while k < p

k = k + 1

a = mid(sdate, k, 1)

if stype = 16 then

select case lcase(a)

case "a"

a = "10"

case "b"

a = "11"

case "c"

a = "12"

case "d"

a = "13"

case "e"

a = "14"

case "f"

a = "15"

end select

end if

othertoshi = ltrim(str(val(othertoshi) + val(a) * stype ^ (p - k)))

loop

exit function

exitsub:

msgbox "要轉化為" & stype & "進位制的資料不合法,請重新輸入!"

end function

'十進位制轉為

二、八、十六進位制:

'用法與上類似

private function ****oother(byval sdate as string, byval stype as long) as string

dim s as string

if trim(sdate)="" then msgbox "請輸入要轉換的數!" :exit function

if isnumeric(sdate) = false then goto exitsub'要轉換的物件非數值型,跳出不執行

on error goto exitsub

sdate = round(val(sdate)) '進行四捨五入

do while sdate > 0

s = ltrim(str(sdate mod stype))

if stype = 16 then

select case s

case "10"

s = "a"

case "11"

s = "b"

case "12"

s = "c"

case "13"

s = "d"

case "14"

s = "e"

case "15"

s = "f"

end select

end if

****oother = s & ****oother

sdate = sdate \ stype

loop

exit function

exitsub:

msgbox "要轉換的資料非十進位制資料,請重新輸入"

end function

沒怎麼除錯,你自己再仔細除錯一下吧。

急求vb**-程式設計序實現一個十進位制數轉換成2、8、16進位制數。

10樓:

十進位制轉二進位制

public function dectobin(dec as long) as string

dectobin = ""

do while dec > 0

dectobin = dec mod 2 & dectobindec = dec \ 2

loop

end function

十進位制轉八進位制:

vb自帶函式:oct(num)

十進位制轉十六進位制:

vb自帶函式:hex(num)

十進位制怎麼轉換成八進位制,十進位制如何轉換成八進位制?

姬覓晴 方法1 採用除8取餘法。例 將十進位制數115轉化為八進位制數 8 115 3 8 14 6 8 1 1 結果 115 10 163 8 方法2 先採用十進位制化二進位制的方法,再將二進位制數化為八進位制數例 115 10 1110011 2 163 8 可以先轉化為二進位制,然後每三個二進...

c中怎樣將16進位制轉換成十進位制,如何用C 把十六進位制轉換成十進位制的程式碼?

1 convert.toint32 ff 16 2 如果轉換的數值太大防止溢位也可convert.toint64 數值 16 3 第三種 十六進位制換算為十進位制 public static int gethexadecimalvalue string strcolorvalue double po...

vb程式設計將十進位制數轉換成十六進位制數

刺友互 1 執行 microsoft visual studio 2010 2 vs 的視窗彈出後,找到選單欄,滑鼠左鍵單擊標題為 檔案 f 的選項。3 在彈出的列表中滑鼠左鍵單擊標題為 新建專案 p 的項。4 在彈出的標題為 新建專案 滑鼠左鍵選擇標題為 visual basic 項,在選擇標題為...