11.將一個十進制正整數x轉換成十六進制數的方法和轉換成二進制類似,反復除16取余法,它的算法如下 第一步:x被除16取余數r1,r1是所求的十六進制數的一個數(第一次就是個位數); 第二步:r1轉換成十六進制數的一個基數并轉換成字符,追加到十六進制數S的左邊; 第三步:求出x被除16的商x1; 第四步:對x1重復(1)、(2)、(3)過程,直至商為0; 第五步:最后的S即為所求的十六進制數; 下列Visual Basic程序的功能是將一個十進制正整數x轉換成十六進制數.界面如圖所示,在文本框Text1中輸入一個十進制數制,單擊“十進制轉十六進制按鈕”(Command1)后,在文本框Text2中輸出轉換的結果. 相應的Visual Basic程序如下: Private Sub Command1_Click ( ) Dim s As String,r As Integer dec=val(Text1.Text)’dec得到一個十進制整數,例如:255; base=16’base表示16 s=““’s變量存放要轉換到的十六進制整數; Do While dec<>0 r= ① If r>=10Then’如果base>10進制,r可能>10; s=Chr(65+(r-10))+s’Chr (65)=“A“,16進制數A對應10; Else’Chr (66)=“B“,16進制數B對應11; s=Str(r)+s’余數r<10時,十進制數和十六進制基數相同; End If’Chr (65+( r-10))或str(r)在s左邊,實現了反次序輸出; dec= ② Loop Text2.Text=s End Sub (1)在 ①應填入
A.base Mod dec B.dec/base C.dec Mod base D.dec\base (2)在 ② 應填入
A.base Mod dec B.dec/base C.dec Mod base D.dec\base.