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 項,在選擇標題為...