数据的有损压缩:对多媒体数据进行有损压缩时,以少量数据丢失作为代价的,比如对某8 bit量化缩为6 bit量化,其算法可简单表示为:逐一删除各个字节的后2 bit,将删除后的6 bit数据首尾相连,然后重新按照8 bit一组构建字节,以十六进制显示。
例如,压缩前的原始数据为:
11111100 010111010 10110000可表示为十六进制:FC 5A B0
删除每字节的后2 bit:
111111 00 010110 10 101100 00
首尾相连构建新的数据:
11 11110101 10101100表示为十六进制:…F5 AC
自此,原数据进行了有损压缩。程序运行界面如下所示,

实现上述算法的VB程序如下,但程序中加框处有误,请改正。
Dim a(1 To 100) As Integer
Const code="0123456789ABCDEF"
Const n=100
Private Sub Form_Load()'以随机数模拟读取原始数据
s=""
Randomize
For i=1 To n
a(i)=Int (Rnd()*16)
Text1.Text=Text1.Text+
'①
Next i
End sub
Private Sub Command1_Click()
For i=1 To n
t=t+HtoB(a(i))
Next i
For j=l To n* 4 Step 8 '每8位一组每8位一组,取前6个字符
s=s+Mid(t,j, 6)
Next j
For i=1 To 4 *(n-1) Step 4 '每4位一组转为十六进制显示
Text2.Text= Text2.Text +BtoH (Mid(s,1,4))
Next i
End sub
Function HtoB (x As Integer) As String '十六进十六进制转为二进制函数
t=""
m=0
Do While

'②
r=x Mod 2
m=m+1
t= Trim(r)+t 'trim()用于删除前导空格
x=x\2
Loop
HtoB=Mid("0000",1,4-m)+t
End Function
Function BtoH (y As String) As String '二进制转为十六进制函数
t1=Val(Mid(y,4,1))
t2=Val(Mid(y,3,1))
t3=Val(Mid(y,2,1))
t4=Val(Mid(y,1,1))
s=t1+t2*+t3*4+t4*8
BtoH= Mid(code,s+1,1)
End Function
(1)①处加框代码应改为________________________________________。
(2)②处加框代码应改为________________________________________。