计算器需要哪些部件来进行计算?运算单元控制单元存储(寄存器)输入输出今天我们主要关注前两个准备工作我们需要寄存器来存储数据寄存器可以通过list来实现先看我们的寄存器((funcgetEmptyList()(list00000000))(定义r-a(标记列表8))(定义r-b(标记列表8))(定义r-c(标记列表8))(定义r-d(标记列表8))(定义r-e(标记-list8))(definer-temp(mark-list8))(definer-opt(getEmptyList))(definer-zero(getEmptyList))(funccopy(lr)((definelen(lengthl))(definer-len(lengthr))(for((i0)(0001(input(list00001));binary1执行后r-a=>1011(input(list00001));二进制执行后r-opt=>10001表示减法,r-a=>0000r-b=>1011(input(list10001));执行完二进制11r-a=>0011(input(list00011));(list10000))(show))=>(#f#f#f#f1#f#f#f)附加所有代码((funcprintln(x)((displayx)(newline)))(functen2two(t)((definel(mark-list8))(copyr-zerol)(definei(长度l))(while(<0t)((设置!i(-i1))(list-set!li(%t2))(set!t(/t2))))l))(funcgetEmptyList()(list00000000));寄存器不去现实用list代替r0-r8moveab(definezero0)(definer-a(mark-list8))(definer-b(mark-list8))(definer-c(mark-list8))(definer-d(mark-list8))(definer-e(mark-list8))(definer-temp(mark-list8))(definer-opt(getEmptyList))(definer-zero(list00000000))(funccopy(lr)((definelen(lengthl))(definer-len(lengthr))(for((i0)(