Python——二进制16位乘法器(采用原码一位乘计算原理实现)(tkinter实现)

【5200行+】
本功能作者:
1.CSDN用户(TDTX),TDTX主页
   博客园用户(TDTX),TDTX主页

【原码一位乘】逻辑右移与加法运算组合实现,其中加法运算采用前面加法器中介绍的实现过程。

1.mupym16bit.py

def mupym16bit():
    import tkinter as tk
    wind1=tk.Tk()
    wind1.geometry('1200x700+255+10')
    wind1.title('十六位乘法器(原码一位乘)')

    def detxt():
        tx1.delete(0.0,tk.END)
        tx2.delete(0.0,tk.END)
        tx3.delete(0.0,tk.END)
        tx4.delete(0.0,tk.END)
        tx5.delete(0.0,tk.END)
        tx6.delete(0.0,tk.END)
        tx7.delete(0.0,tk.END)
        tx8.delete(0.0,tk.END)
        tx9.delete(0.0,tk.END)
        tx10.delete(0.0,tk.END)
        tx11.delete(0.0,tk.END)
        tx12.delete(0.0,tk.END)
        tx13.delete(0.0,tk.END)
        tx14.delete(0.0,tk.END)
        tx15.delete(0.0,tk.END)
        tx16.delete(0.0,tk.END)
        tx17.delete(0.0,tk.END)
        tx18.delete(0.0,tk.END)
        tx19.delete(0.0,tk.END)
        tx20.delete(0.0,tk.END)
        tx21.delete(0.0,tk.END)
        tx22.delete(0.0,tk.END)
        tx23.delete(0.0,tk.END)
        tx24.delete(0.0,tk.END)
        tx25.delete(0.0,tk.END)
        tx26.delete(0.0,tk.END)
        tx27.delete(0.0,tk.END)
        tx28.delete(0.0,tk.END)
        tx29.delete(0.0,tk.END)
        tx30.delete(0.0,tk.END)
        tx31.delete(0.0,tk.END)
        tx32.delete(0.0,tk.END)
        tx33.delete(0.0,tk.END)
        
        txbfj1.delete(0.0,tk.END)
        txcc1.delete(0.0,tk.END)
        txsm1.delete(0.0,tk.END)
        txbfj2.delete(0.0,tk.END)
        txcc2.delete(0.0,tk.END)
        txsm2.delete(0.0,tk.END)
        txbfj3.delete(0.0,tk.END)
        txcc3.delete(0.0,tk.END)
        txsm3.delete(0.0,tk.END)
        txbfj4.delete(0.0,tk.END)
        txcc4.delete(0.0,tk.END)
        txsm4.delete(0.0,tk.END)
        txbfj5.delete(0.0,tk.END)
        txcc5.delete(0.0,tk.END)
        txsm5.delete(0.0,tk.END)
        txbfj6.delete(0.0,tk.END)
        txcc6.delete(0.0,tk.END)
        txsm6.delete(0.0,tk.END)
        txbfj7.delete(0.0,tk.END)
        txcc7.delete(0.0,tk.END)
        txsm7.delete(0.0,tk.END)
        txbfj8.delete(0.0,tk.END)
        txcc8.delete(0.0,tk.END)
        txsm8.delete(0.0,tk.END)
        txbfj9.delete(0.0,tk.END)
        txcc9.delete(0.0,tk.END)
        txsm9.delete(0.0,tk.END)
        txbfj10.delete(0.0,tk.END)
        txcc10.delete(0.0,tk.END)
        txsm10.delete(0.0,tk.END)
        txbfj11.delete(0.0,tk.END)
        txcc11.delete(0.0,tk.END)
        txsm11.delete(0.0,tk.END)
        txbfj12.delete(0.0,tk.END)
        txcc12.delete(0.0,tk.END)
        txsm12.delete(0.0,tk.END)
        txbfj13.delete(0.0,tk.END)
        txcc13.delete(0.0,tk.END)
        txsm13.delete(0.0,tk.END)
        txbfj14.delete(0.0,tk.END)
        txcc14.delete(0.0,tk.END)
        txsm14.delete(0.0,tk.END)
        txbfj15.delete(0.0,tk.END)
        txcc15.delete(0.0,tk.END)
        txsm15.delete(0.0,tk.END)
        txbfj16.delete(0.0,tk.END)
        txcc16.delete(0.0,tk.END)
        txsm16.delete(0.0,tk.END)
        txbfj17.delete(0.0,tk.END)
        txcc17.delete(0.0,tk.END)
        txsm17.delete(0.0,tk.END)


    def mupym1616bit():
        nu1_1=eval(ent16.get())
        nu1_2=eval(ent15.get())
        nu1_3=eval(ent14.get())
        nu1_4=eval(ent13.get())
        nu1_5=eval(ent12.get())
        nu1_6=eval(ent11.get())
        nu1_7=eval(ent10.get())
        nu1_8=eval(ent9.get())
        nu1_9=eval(ent8.get())
        nu1_10=eval(ent7.get())
        nu1_11=eval(ent6.get())
        nu1_12=eval(ent5.get())
        nu1_13=eval(ent4.get())
        nu1_14=eval(ent3.get())
        nu1_15=eval(ent2.get())
        nu1_16=eval(ent1.get())
        nu1_1_1=nu1_1
        nu1_22=nu1_2
        nu1_33=nu1_3
        nu1_44=nu1_4
        nu1_55=nu1_5
        nu1_66=nu1_6
        nu1_77=nu1_7
        nu1_88=nu1_8
        nu1_99=nu1_9
        nu1_1010=nu1_10
        nu1_1111=nu1_11
        nu1_1212=nu1_12
        nu1_1313=nu1_13
        nu1_1414=nu1_14
        nu1_1515=nu1_15
        nu1_1616=0
        
        nu2_1=eval(ent32.get())
        nu2_2=eval(ent31.get())
        nu2_3=eval(ent30.get())
        nu2_4=eval(ent29.get())
        nu2_5=eval(ent28.get())
        nu2_6=eval(ent27.get())
        nu2_7=eval(ent26.get())
        nu2_8=eval(ent25.get())
        nu2_9=eval(ent24.get())
        nu2_10=eval(ent23.get())
        nu2_11=eval(ent22.get())
        nu2_12=eval(ent21.get())
        nu2_13=eval(ent20.get())
        nu2_14=eval(ent19.get())
        nu2_15=eval(ent18.get())
        nu2_16=eval(ent17.get())
        nu2_1_1=nu2_1
        nu2_22=nu2_2
        nu2_33=nu2_3
        nu2_44=nu2_4
        nu2_55=nu2_5
        nu2_66=nu2_6
        nu2_77=nu2_7
        nu2_88=nu2_8
        nu2_99=nu2_9
        nu2_1010=nu2_10
        nu2_1111=nu2_11
        nu2_1212=nu2_12
        nu2_1313=nu2_13
        nu2_1414=nu2_14
        nu2_1515=nu2_15
        nu2_1616=0

        nubfj1=0
        nubfj2=0
        nubfj3=0
        nubfj4=0
        nubfj5=0
        nubfj6=0
        nubfj7=0
        nubfj8=0
        nubfj9=0
        nubfj10=0
        nubfj11=0
        nubfj12=0
        nubfj13=0
        nubfj14=0
        nubfj15=0
        nubfj16=0

        nusp1=0
        nusp2=0
        nusp3=0
        nusp4=0
        nusp5=0
        nusp6=0
        nusp7=0
        nusp8=0
        nusp9=0
        nusp10=0
        nusp11=0
        nusp12=0
        nusp13=0
        nusp14=0
        nusp15=0
        nusp16=0
        nujw=0

        txcc1.insert('insert','{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(nu2_1616,nu2_1515,nu2_1414,nu2_1313,nu2_1212,nu2_1111,nu2_1010,nu2_99,nu2_88,nu2_77,nu2_66,nu2_55,nu2_44,nu2_33,nu2_22,nu2_1_1))
        if nu2_1_1==1:
            txbfj1.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0))
            txbfj1.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,nu1_1515,nu1_1414,nu1_1313,nu1_1212,nu1_1111,nu1_1010,nu1_99,nu1_88,nu1_77,nu1_66,nu1_55,nu1_44,nu1_33,nu1_22,nu1_1_1))
            txsm1.insert('insert','开始部分积Z0=0\n乘数为1,加上x*')
        elif nu2_1_1==0:
            txbfj1.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0))
            txbfj1.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0))
            txsm1.insert('insert','开始部分积Z0=0\n乘数为0,加上0')

        if nu2_1_1==0:
            nu1_1_1=0
            nu1_22=0
            nu1_33=0
            nu1_44=0
            nu1_55=0
            nu1_66=0
            nu1_77=0
            nu1_88=0
            nu1_99=0
            nu1_1010=0
            nu1_1111=0
            nu1_1212=0
            nu1_1313=0
            nu1_1414=0
            nu1_1515=0
            nu1_1616=0
        elif nu2_1_1==1:
            nu1_1_1=nu1_1
            nu1_22=nu1_2
            nu1_33=nu1_3
            nu1_44=nu1_4
            nu1_55=nu1_5
            nu1_66=nu1_6
            nu1_77=nu1_7
            nu1_99=nu1_9
            nu1_88=nu1_8
            nu1_1010=nu1_10
            nu1_1111=nu1_11
            nu1_1212=nu1_12
            nu1_1313=nu1_13
            nu1_1414=nu1_14
            nu1_1515=nu1_15
            nu1_1616=0
        
        if nubfj1+nu1_1_1+nujw==1:
            nusp1=1
            nujw=0
        elif nubfj1+nu1_1_1+nujw==0:
            nusp1=0
            nujw=0
        elif nubfj1+nu1_1_1+nujw==2:
            nusp1=0
            nujw=1
        elif nubfj1+nu1_1_1+nujw==3:
            nusp1=1
            nujw=1

        
        if nubfj2+nu1_22+nujw==1:
            nusp2=1
            nujw=0
        elif nubfj2+nu1_22+nujw==0:
            nusp2=0
            nujw=0
        elif nubfj2+nu1_22+nujw==2:
            nusp2=0
            nujw=1
        elif nubfj2+nu1_22+nujw==3:
            nusp2=1
            nujw=1


        if nubfj3+nu1_33+nujw==1:
            nusp3=1
            nujw=0
        elif nubfj3+nu1_33+nujw==0:
            nusp3=0
            nujw=0
        elif nubfj3+nu1_33+nujw==2:
            nusp3=0
            nujw=1
        elif nubfj3+nu1_33+nujw==3:
            nusp3=1
            nujw=1

            
        if nubfj4+nu1_44+nujw==1:
            nusp4=1
            nujw=0
        elif nubfj4+nu1_44+nujw==0:
            nusp4=0
            nujw=0
        elif nubfj4+nu1_44+nujw==2:
            nusp4=0
            nujw=1
        elif nubfj4+nu1_44+nujw==3:
            nusp4=1
            nujw=1

        if nubfj5+nu1_55+nujw==1:
            nusp5=1
            nujw=0
        elif nubfj5+nu1_55+nujw==0:
            nusp5=0
            nujw=0
        elif nubfj5+nu1_55+nujw==2:
            nusp5=0
            nujw=1
        elif nubfj5+nu1_55+nujw==3:
            nusp5=1
            nujw=1

        if nubfj6+nu1_66+nujw==1:
            nusp6=1
            nujw=0
        elif nubfj6+nu1_66+nujw==0:
            nusp6=0
            nujw=0
        elif nubfj6+nu1_66+nujw==2:
            nusp6=0
            nujw=1
        elif nubfj6+nu1_66+nujw==3:
            nusp6=1
            nujw=1

        if nubfj7+nu1_77+nujw==1:
            nusp7=1
            nujw=0
        elif nubfj7+nu1_77+nujw==0:
            nusp7=0
            nujw=0
        elif nubfj7+nu1_77+nujw==2:
            nusp7=0
            nujw=1
        elif nubfj7+nu1_77+nujw==3:
            nusp7=1
            nujw=1

        if nubfj8+nu1_88+nujw==1:
            nusp8=1
            nujw=0
        elif nubfj8+nu1_88+nujw==0:
            nusp8=0
            nujw=0
        elif nubfj8+nu1_88+nujw==2:
            nusp8=0
            nujw=1
        elif nubfj8+nu1_88+nujw==3:
            nusp8=1
            nujw=1

        if nubfj9+nu1_99+nujw==1:
            nusp9=1
            nujw=0
        elif nubfj9+nu1_99+nujw==0:
            nusp9=0
            nujw=0
        elif nubfj9+nu1_99+nujw==2:
            nusp9=0
            nujw=1
        elif nubfj9+nu1_99+nujw==3:
            nusp9=1
            nujw=1

        if nubfj10+nu1_1010+nujw==1:
            nusp10=1
            nujw=0
        elif nubfj10+nu1_1010+nujw==0:
            nusp10=0
            nujw=0
        elif nubfj10+nu1_1010+nujw==2:
            nusp10=0
            nujw=1
        elif nubfj10+nu1_1010+nujw==3:
            nusp10=1
            nujw=1

        if nubfj11+nu1_1111+nujw==1:
            nusp11=1
            nujw=0
        elif nubfj11+nu1_1111+nujw==0:
            nusp11=0
            nujw=0
        elif nubfj11+nu1_1111+nujw==2:
            nusp11=0
            nujw=1
        elif nubfj11+nu1_1111+nujw==3:
            nusp11=1
            nujw=1

        if nubfj12+nu1_1212+nujw==1:
            nusp12=1
            nujw=0
        elif nubfj12+nu1_1212+nujw==0:
            nusp12=0
            nujw=0
        elif nubfj12+nu1_1212+nujw==2:
            nusp12=0
            nujw=1
        elif nubfj12+nu1_1212+nujw==3:
            nusp12=1
            nujw=1

        if nubfj13+nu1_1313+nujw==1:
            nusp13=1
            nujw=0
        elif nubfj13+nu1_1313+nujw==0:
            nusp13=0
            nujw=0
        elif nubfj13+nu1_1313+nujw==2:
            nusp13=0
            nujw=1
        elif nubfj13+nu1_1313+nujw==3:
            nusp13=1
            nujw=1

        if nubfj14+nu1_1414+nujw==1:
            nusp14=1
            nujw=0
        elif nubfj14+nu1_1414+nujw==0:
            nusp14=0
            nujw=0
        elif nubfj14+nu1_1414+nujw==2:
            nusp14=0
            nujw=1
        elif nubfj14+nu1_1414+nujw==3:
            nusp14=1
            nujw=1

        if nubfj15+nu1_1515+nujw==1:
            nusp15=1
            nujw=0
        elif nubfj15+nu1_1515+nujw==0:
            nusp15=0
            nujw=0
        elif nubfj15+nu1_1515+nujw==2:
            nusp15=0
            nujw=1
        elif nubfj15+nu1_1515+nujw==3:
            nusp15=1
            nujw=1

        if nubfj16+nu1_1616+nujw==1:
            nusp16=1
            nujw=0
        elif nubfj16+nu1_1616+nujw==0:
            nusp16=0
            nujw=0
        elif nubfj16+nu1_1616+nujw==2:
            nusp16=0
            nujw=1
        elif nubfj16+nu1_1616+nujw==3:
            nusp16=1
            nujw=1
            
        txbfj2.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nusp16,nusp15,nusp14,nusp13,nusp12,nusp11,nusp10,nusp9,nusp8,nusp7,nusp6,nusp5,nusp4,nusp3,nusp2,nusp1))

        nu2_1_1=nu2_22
        nu2_22=nu2_33
        nu2_33=nu2_44
        nu2_44=nu2_55
        nu2_55=nu2_66
        nu2_66=nu2_77
        nu2_77=nu2_88
        nu2_88=nu2_99
        nu2_99=nu2_1010
        nu2_1010=nu2_1111
        nu2_1111=nu2_1212
        nu2_1212=nu2_1313
        nu2_1313=nu2_1414
        nu2_1414=nu2_1515
        nu2_1515=nu2_1616
        nu2_1616=nusp1
        #上面实现了乘数逻辑右移,且在空出的最高位填上部分积逻辑右移出来的最低位nusp1,得到新的乘数
        txcc2.insert('insert','{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(nu2_1616,nu2_1515,nu2_1414,nu2_1313,nu2_1212,nu2_1111,nu2_1010,nu2_99,nu2_88,nu2_77,nu2_66,nu2_55,nu2_44,nu2_33,nu2_22,nu2_1_1))
        #上面实现了将新的乘数显示在下一个乘数文本框中

        
        if nu2_1_1==0:
            nu1_1_1=0
            nu1_22=0
            nu1_33=0
            nu1_44=0
            nu1_55=0
            nu1_66=0
            nu1_77=0
            nu1_88=0
            nu1_99=0
            nu1_1010=0
            nu1_1111=0
            nu1_1212=0
            nu1_1313=0
            nu1_1414=0
            nu1_1515=0
            nu1_1616=0
        elif nu2_1_1==1:
            nu1_1_1=nu1_1
            nu1_22=nu1_2
            nu1_33=nu1_3
            nu1_44=nu1_4
            nu1_55=nu1_5
            nu1_66=nu1_6
            nu1_77=nu1_7
            nu1_99=nu1_9
            nu1_88=nu1_8
            nu1_1010=nu1_10
            nu1_1111=nu1_11
            nu1_1212=nu1_12
            nu1_1313=nu1_13
            nu1_1414=nu1_14
            nu1_1515=nu1_15
            nu1_1616=0
        
        nubfj1=nusp2
        nubfj2=nusp3
        nubfj3=nusp4
        nubfj4=nusp5
        nubfj5=nusp6
        nubfj6=nusp7
        nubfj7=nusp8
        nubfj8=nusp9
        nubfj9=nusp10
        nubfj10=nusp11
        nubfj11=nusp12
        nubfj12=nusp13
        nubfj13=nusp14
        nubfj14=nusp15
        nubfj15=nusp16
        nubfj16=0
        #上面实现了部分积的逻辑右移
        txbfj2.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nubfj16,nubfj15,nubfj14,nubfj13,nubfj12,nubfj11,nubfj10,nubfj9,nubfj8,nubfj7,nubfj6,nubfj5,nubfj4,nubfj3,nubfj2,nubfj1))
        #上面实现了将逻辑右移后的部分积显示在未右移部分积的下面,两者在同一个文本框中
        if nu2_1_1==1:
            txbfj2.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,nu1_1515,nu1_1414,nu1_1313,nu1_1212,nu1_1111,nu1_1010,nu1_99,nu1_88,nu1_77,nu1_66,nu1_55,nu1_44,nu1_33,nu1_22,nu1_1_1))
            txsm2.insert('insert','\n→1位得Z1,乘数同时→1位\n乘数为1,加上x*')
        elif nu2_1_1==0:
            txbfj2.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0))
            txsm2.insert('insert','\n→1位得Z1,乘数同时→1位\n乘数为0,加上0')


        if nubfj1+nu1_1_1+nujw==1:
            nusp1=1
            nujw=0
        elif nubfj1+nu1_1_1+nujw==0:
            nusp1=0
            nujw=0
        elif nubfj1+nu1_1_1+nujw==2:
            nusp1=0
            nujw=1
        elif nubfj1+nu1_1_1+nujw==3:
            nusp1=1
            nujw=1

        if nubfj2+nu1_22+nujw==1:
            nusp2=1
            nujw=0
        elif nubfj2+nu1_22+nujw==0:
            nusp2=0
            nujw=0
        elif nubfj2+nu1_22+nujw==2:
            nusp2=0
            nujw=1
        elif nubfj2+nu1_22+nujw==3:
            nusp2=1
            nujw=1

        if nubfj3+nu1_33+nujw==1:
            nusp3=1
            nujw=0
        elif nubfj3+nu1_33+nujw==0:
            nusp3=0
            nujw=0
        elif nubfj3+nu1_33+nujw==2:
            nusp3=0
            nujw=1
        elif nubfj3+nu1_33+nujw==3:
            nusp3=1
            nujw=1
 
        if nubfj4+nu1_44+nujw==1:
            nusp4=1
            nujw=0
        elif nubfj4+nu1_44+nujw==0:
            nusp4=0
            nujw=0
        elif nubfj4+nu1_44+nujw==2:
            nusp4=0
            nujw=1
        elif nubfj4+nu1_44+nujw==3:
            nusp4=1
            nujw=1

        if nubfj5+nu1_55+nujw==1:
            nusp5=1
            nujw=0
        elif nubfj5+nu1_55+nujw==0:
            nusp5=0
            nujw=0
        elif nubfj5+nu1_55+nujw==2:
            nusp5=0
            nujw=1
        elif nubfj5+nu1_55+nujw==3:
            nusp5=1
            nujw=1

        if nubfj6+nu1_66+nujw==1:
            nusp6=1
            nujw=0
        elif nubfj6+nu1_66+nujw==0:
            nusp6=0
            nujw=0
        elif nubfj6+nu1_66+nujw==2:
            nusp6=0
            nujw=1
        elif nubfj6+nu1_66+nujw==3:
            nusp6=1
            nujw=1

        if nubfj7+nu1_77+nujw==1:
            nusp7=1
            nujw=0
        elif nubfj7+nu1_77+nujw==0:
            nusp7=0
            nujw=0
        elif nubfj7+nu1_77+nujw==2:
            nusp7=0
            nujw=1
        elif nubfj7+nu1_77+nujw==3:
            nusp7=1
            nujw=1

        if nubfj8+nu1_88+nujw==1:
            nusp8=1
            nujw=0
        elif nubfj8+nu1_88+nujw==0:
            nusp8=0
            nujw=0
        elif nubfj8+nu1_88+nujw==2:
            nusp8=0
            nujw=1
        elif nubfj8+nu1_88+nujw==3:
            nusp8=1
            nujw=1

        if nubfj9+nu1_99+nujw==1:
            nusp9=1
            nujw=0
        elif nubfj9+nu1_99+nujw==0:
            nusp9=0
            nujw=0
        elif nubfj9+nu1_99+nujw==2:
            nusp9=0
            nujw=1
        elif nubfj9+nu1_99+nujw==3:
            nusp9=1
            nujw=1

        if nubfj10+nu1_1010+nujw==1:
            nusp10=1
            nujw=0
        elif nubfj10+nu1_1010+nujw==0:
            nusp10=0
            nujw=0
        elif nubfj10+nu1_1010+nujw==2:
            nusp10=0
            nujw=1
        elif nubfj10+nu1_1010+nujw==3:
            nusp10=1
            nujw=1

        if nubfj11+nu1_1111+nujw==1:
            nusp11=1
            nujw=0
        elif nubfj11+nu1_1111+nujw==0:
            nusp11=0
            nujw=0
        elif nubfj11+nu1_1111+nujw==2:
            nusp11=0
            nujw=1
        elif nubfj11+nu1_1111+nujw==3:
            nusp11=1
            nujw=1

        if nubfj12+nu1_1212+nujw==1:
            nusp12=1
            nujw=0
        elif nubfj12+nu1_1212+nujw==0:
            nusp12=0
            nujw=0
        elif nubfj12+nu1_1212+nujw==2:
            nusp12=0
            nujw=1
        elif nubfj12+nu1_1212+nujw==3:
            nusp12=1
            nujw=1

        if nubfj13+nu1_1313+nujw==1:
            nusp13=1
            nujw=0
        elif nubfj13+nu1_1313+nujw==0:
            nusp13=0
            nujw=0
        elif nubfj13+nu1_1313+nujw==2:
            nusp13=0
            nujw=1
        elif nubfj13+nu1_1313+nujw==3:
            nusp13=1
            nujw=1

        if nubfj14+nu1_1414+nujw==1:
            nusp14=1
            nujw=0
        elif nubfj14+nu1_1414+nujw==0:
            nusp14=0
            nujw=0
        elif nubfj14+nu1_1414+nujw==2:
            nusp14=0
            nujw=1
        elif nubfj14+nu1_1414+nujw==3:
            nusp14=1
            nujw=1

        if nubfj15+nu1_1515+nujw==1:
            nusp15=1
            nujw=0
        elif nubfj15+nu1_1515+nujw==0:
            nusp15=0
            nujw=0
        elif nubfj15+nu1_1515+nujw==2:
            nusp15=0
            nujw=1
        elif nubfj15+nu1_1515+nujw==3:
            nusp15=1
            nujw=1

        if nubfj16+nu1_1616+nujw==1:
            nusp16=1
            nujw=0
        elif nubfj16+nu1_1616+nujw==0:
            nusp16=0
            nujw=0
        elif nubfj16+nu1_1616+nujw==2:
            nusp16=0
            nujw=1
        elif nubfj16+nu1_1616+nujw==3:
            nusp16=1
            nujw=1

        txbfj3.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nusp16,nusp15,nusp14,nusp13,nusp12,nusp11,nusp10,nusp9,nusp8,nusp7,nusp6,nusp5,nusp4,nusp3,nusp2,nusp1))


        nu2_1_1=nu2_22
        nu2_22=nu2_33
        nu2_33=nu2_44
        nu2_44=nu2_55
        nu2_55=nu2_66
        nu2_66=nu2_77
        nu2_77=nu2_88
        nu2_88=nu2_99
        nu2_99=nu2_1010
        nu2_1010=nu2_1111
        nu2_1111=nu2_1212
        nu2_1212=nu2_1313
        nu2_1313=nu2_1414
        nu2_1414=nu2_1515
        nu2_1515=nu2_1616
        nu2_1616=nusp1
        #上面实现了乘数逻辑右移,且在空出的最高位填上部分积逻辑右移出来的最低位nusp1,得到新的乘数
        txcc3.insert('insert','{0}\n{1}{2}{3}{4} {5}{6}{7}{8}  {9}{10}{11}{12} {13}{14}{15}{16}'.format(nu2_2,nu2_1616,nu2_1515,nu2_1414,nu2_1313,nu2_1212,nu2_1111,nu2_1010,nu2_99,nu2_88,nu2_77,nu2_66,nu2_55,nu2_44,nu2_33,nu2_22,nu2_1_1))
        #上面实现了将新的乘数显示在下一个乘数文本框中


        if nu2_1_1==0:
            nu1_1_1=0
            nu1_22=0
            nu1_33=0
            nu1_44=0
            nu1_55=0
            nu1_66=0
            nu1_77=0
            nu1_88=0
            nu1_99=0
            nu1_1010=0
            nu1_1111=0
            nu1_1212=0
            nu1_1313=0
            nu1_1414=0
            nu1_1515=0
            nu1_1616=0
        elif nu2_1_1==1:
            nu1_1_1=nu1_1
            nu1_22=nu1_2
            nu1_33=nu1_3
            nu1_44=nu1_4
            nu1_55=nu1_5
            nu1_66=nu1_6
            nu1_77=nu1_7
            nu1_99=nu1_9
            nu1_88=nu1_8
            nu1_1010=nu1_10
            nu1_1111=nu1_11
            nu1_1212=nu1_12
            nu1_1313=nu1_13
            nu1_1414=nu1_14
            nu1_1515=nu1_15
            nu1_1616=0
        
        nubfj1=nusp2
        nubfj2=nusp3
        nubfj3=nusp4
        nubfj4=nusp5
        nubfj5=nusp6
        nubfj6=nusp7
        nubfj7=nusp8
        nubfj8=nusp9
        nubfj9=nusp10
        nubfj10=nusp11
        nubfj11=nusp12
        nubfj12=nusp13
        nubfj13=nusp14
        nubfj14=nusp15
        nubfj15=nusp16
        nubfj16=0
        #上面实现了部分积的逻辑右移
        txbfj3.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nubfj16,nubfj15,nubfj14,nubfj13,nubfj12,nubfj11,nubfj10,nubfj9,nubfj8,nubfj7,nubfj6,nubfj5,nubfj4,nubfj3,nubfj2,nubfj1))
        #上面实现了将逻辑右移后的部分积显示在未右移部分积的下面,两者在同一个文本框中
        if nu2_1_1==1:
            txbfj3.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,nu1_1515,nu1_1414,nu1_1313,nu1_1212,nu1_1111,nu1_1010,nu1_99,nu1_88,nu1_77,nu1_66,nu1_55,nu1_44,nu1_33,nu1_22,nu1_1_1))
            txsm3.insert('insert','\n→1位得Z2,乘数同时→1位\n乘数为1,加上x*')
        elif nu2_1_1==0:
            txbfj3.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0))
            txsm3.insert('insert','\n→1位得Z2,乘数同时→1位\n乘数为0,加上0')


        if nubfj1+nu1_1_1+nujw==1:
            nusp1=1
            nujw=0
        elif nubfj1+nu1_1_1+nujw==0:
            nusp1=0
            nujw=0
        elif nubfj1+nu1_1_1+nujw==2:
            nusp1=0
            nujw=1
        elif nubfj1+nu1_1_1+nujw==3:
            nusp1=1
            nujw=1

        if nubfj2+nu1_22+nujw==1:
            nusp2=1
            nujw=0
        elif nubfj2+nu1_22+nujw==0:
            nusp2=0
            nujw=0
        elif nubfj2+nu1_22+nujw==2:
            nusp2=0
            nujw=1
        elif nubfj2+nu1_22+nujw==3:
            nusp2=1
            nujw=1

        if nubfj3+nu1_33+nujw==1:
            nusp3=1
            nujw=0
        elif nubfj3+nu1_33+nujw==0:
            nusp3=0
            nujw=0
        elif nubfj3+nu1_33+nujw==2:
            nusp3=0
            nujw=1
        elif nubfj3+nu1_33+nujw==3:
            nusp3=1
            nujw=1

        if nubfj4+nu1_44+nujw==1:
            nusp4=1
            nujw=0
        elif nubfj4+nu1_44+nujw==0:
            nusp4=0
            nujw=0
        elif nubfj4+nu1_44+nujw==2:
            nusp4=0
            nujw=1
        elif nubfj4+nu1_44+nujw==3:
            nusp4=1
            nujw=1

        if nubfj5+nu1_55+nujw==1:
            nusp5=1
            nujw=0
        elif nubfj5+nu1_55+nujw==0:
            nusp5=0
            nujw=0
        elif nubfj5+nu1_55+nujw==2:
            nusp5=0
            nujw=1
        elif nubfj5+nu1_55+nujw==3:
            nusp5=1
            nujw=1

        if nubfj6+nu1_66+nujw==1:
            nusp6=1
            nujw=0
        elif nubfj6+nu1_66+nujw==0:
            nusp6=0
            nujw=0
        elif nubfj6+nu1_66+nujw==2:
            nusp6=0
            nujw=1
        elif nubfj6+nu1_66+nujw==3:
            nusp6=1
            nujw=1

        if nubfj7+nu1_77+nujw==1:
            nusp7=1
            nujw=0
        elif nubfj7+nu1_77+nujw==0:
            nusp7=0
            nujw=0
        elif nubfj7+nu1_77+nujw==2:
            nusp7=0
            nujw=1
        elif nubfj7+nu1_77+nujw==3:
            nusp7=1
            nujw=1

        if nubfj8+nu1_88+nujw==1:
            nusp8=1
            nujw=0
        elif nubfj8+nu1_88+nujw==0:
            nusp8=0
            nujw=0
        elif nubfj8+nu1_88+nujw==2:
            nusp8=0
            nujw=1
        elif nubfj8+nu1_88+nujw==3:
            nusp8=1
            nujw=1

        if nubfj9+nu1_99+nujw==1:
            nusp9=1
            nujw=0
        elif nubfj9+nu1_99+nujw==0:
            nusp9=0
            nujw=0
        elif nubfj9+nu1_99+nujw==2:
            nusp9=0
            nujw=1
        elif nubfj9+nu1_99+nujw==3:
            nusp9=1
            nujw=1

        if nubfj10+nu1_1010+nujw==1:
            nusp10=1
            nujw=0
        elif nubfj10+nu1_1010+nujw==0:
            nusp10=0
            nujw=0
        elif nubfj10+nu1_1010+nujw==2:
            nusp10=0
            nujw=1
        elif nubfj10+nu1_1010+nujw==3:
            nusp10=1
            nujw=1

        if nubfj11+nu1_1111+nujw==1:
            nusp11=1
            nujw=0
        elif nubfj11+nu1_1111+nujw==0:
            nusp11=0
            nujw=0
        elif nubfj11+nu1_1111+nujw==2:
            nusp11=0
            nujw=1
        elif nubfj11+nu1_1111+nujw==3:
            nusp11=1
            nujw=1

        if nubfj12+nu1_1212+nujw==1:
            nusp12=1
            nujw=0
        elif nubfj12+nu1_1212+nujw==0:
            nusp12=0
            nujw=0
        elif nubfj12+nu1_1212+nujw==2:
            nusp12=0
            nujw=1
        elif nubfj12+nu1_1212+nujw==3:
            nusp12=1
            nujw=1

        if nubfj13+nu1_1313+nujw==1:
            nusp13=1
            nujw=0
        elif nubfj13+nu1_1313+nujw==0:
            nusp13=0
            nujw=0
        elif nubfj13+nu1_1313+nujw==2:
            nusp13=0
            nujw=1
        elif nubfj13+nu1_1313+nujw==3:
            nusp13=1
            nujw=1

        if nubfj14+nu1_1414+nujw==1:
            nusp14=1
            nujw=0
        elif nubfj14+nu1_1414+nujw==0:
            nusp14=0
            nujw=0
        elif nubfj14+nu1_1414+nujw==2:
            nusp14=0
            nujw=1
        elif nubfj14+nu1_1414+nujw==3:
            nusp14=1
            nujw=1

        if nubfj15+nu1_1515+nujw==1:
            nusp15=1
            nujw=0
        elif nubfj15+nu1_1515+nujw==0:
            nusp15=0
            nujw=0
        elif nubfj15+nu1_1515+nujw==2:
            nusp15=0
            nujw=1
        elif nubfj15+nu1_1515+nujw==3:
            nusp15=1
            nujw=1

        if nubfj16+nu1_1616+nujw==1:
            nusp16=1
            nujw=0
        elif nubfj16+nu1_1616+nujw==0:
            nusp16=0
            nujw=0
        elif nubfj16+nu1_1616+nujw==2:
            nusp16=0
            nujw=1
        elif nubfj16+nu1_1616+nujw==3:
            nusp16=1
            nujw=1

        txbfj4.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nusp16,nusp15,nusp14,nusp13,nusp12,nusp11,nusp10,nusp9,nusp8,nusp7,nusp6,nusp5,nusp4,nusp3,nusp2,nusp1))


        nu2_1_1=nu2_22
        nu2_22=nu2_33
        nu2_33=nu2_44
        nu2_44=nu2_55
        nu2_55=nu2_66
        nu2_66=nu2_77
        nu2_77=nu2_88
        nu2_88=nu2_99
        nu2_99=nu2_1010
        nu2_1010=nu2_1111
        nu2_1111=nu2_1212
        nu2_1212=nu2_1313
        nu2_1313=nu2_1414
        nu2_1414=nu2_1515
        nu2_1515=nu2_1616
        nu2_1616=nusp1
        #上面实现了乘数逻辑右移,且在空出的最高位填上部分积逻辑右移出来的最低位nusp1,得到新的乘数
        txcc4.insert('insert','{0}{1}\n{2}{3}{4}{5} {6}{7}{8}{9}  {10}{11}{12}{13} {14}{15}{16}{17}'.format(nu2_3,nu2_2,nu2_1616,nu2_1515,nu2_1414,nu2_1313,nu2_1212,nu2_1111,nu2_1010,nu2_99,nu2_88,nu2_77,nu2_66,nu2_55,nu2_44,nu2_33,nu2_22,nu2_1_1))
        #上面实现了将新的乘数显示在下一个乘数文本框中


        if nu2_1_1==0:
            nu1_1_1=0
            nu1_22=0
            nu1_33=0
            nu1_44=0
            nu1_55=0
            nu1_66=0
            nu1_77=0
            nu1_88=0
            nu1_99=0
            nu1_1010=0
            nu1_1111=0
            nu1_1212=0
            nu1_1313=0
            nu1_1414=0
            nu1_1515=0
            nu1_1616=0
        elif nu2_1_1==1:
            nu1_1_1=nu1_1
            nu1_22=nu1_2
            nu1_33=nu1_3
            nu1_44=nu1_4
            nu1_55=nu1_5
            nu1_66=nu1_6
            nu1_77=nu1_7
            nu1_99=nu1_9
            nu1_88=nu1_8
            nu1_1010=nu1_10
            nu1_1111=nu1_11
            nu1_1212=nu1_12
            nu1_1313=nu1_13
            nu1_1414=nu1_14
            nu1_1515=nu1_15
            nu1_1616=0
        
        nubfj1=nusp2
        nubfj2=nusp3
        nubfj3=nusp4
        nubfj4=nusp5
        nubfj5=nusp6
        nubfj6=nusp7
        nubfj7=nusp8
        nubfj8=nusp9
        nubfj9=nusp10
        nubfj10=nusp11
        nubfj11=nusp12
        nubfj12=nusp13
        nubfj13=nusp14
        nubfj14=nusp15
        nubfj15=nusp16
        nubfj16=0
        #上面实现了部分积的逻辑右移
        txbfj4.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nubfj16,nubfj15,nubfj14,nubfj13,nubfj12,nubfj11,nubfj10,nubfj9,nubfj8,nubfj7,nubfj6,nubfj5,nubfj4,nubfj3,nubfj2,nubfj1))
        #上面实现了将逻辑右移后的部分积显示在未右移部分积的下面,两者在同一个文本框中
        if nu2_1_1==1:
            txbfj4.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,nu1_1515,nu1_1414,nu1_1313,nu1_1212,nu1_1111,nu1_1010,nu1_99,nu1_88,nu1_77,nu1_66,nu1_55,nu1_44,nu1_33,nu1_22,nu1_1_1))
            txsm4.insert('insert','\n→1位得Z3,乘数同时→1位\n乘数为1,加上x*')
        elif nu2_1_1==0:
            txbfj4.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0))
            txsm4.insert('insert','\n→1位得Z3,乘数同时→1位\n乘数为0,加上0')



        if nubfj1+nu1_1_1+nujw==1:
            nusp1=1
            nujw=0
        elif nubfj1+nu1_1_1+nujw==0:
            nusp1=0
            nujw=0
        elif nubfj1+nu1_1_1+nujw==2:
            nusp1=0
            nujw=1
        elif nubfj1+nu1_1_1+nujw==3:
            nusp1=1
            nujw=1

        if nubfj2+nu1_22+nujw==1:
            nusp2=1
            nujw=0
        elif nubfj2+nu1_22+nujw==0:
            nusp2=0
            nujw=0
        elif nubfj2+nu1_22+nujw==2:
            nusp2=0
            nujw=1
        elif nubfj2+nu1_22+nujw==3:
            nusp2=1
            nujw=1

        if nubfj3+nu1_33+nujw==1:
            nusp3=1
            nujw=0
        elif nubfj3+nu1_33+nujw==0:
            nusp3=0
            nujw=0
        elif nubfj3+nu1_33+nujw==2:
            nusp3=0
            nujw=1
        elif nubfj3+nu1_33+nujw==3:
            nusp3=1
            nujw=1

        if nubfj4+nu1_44+nujw==1:
            nusp4=1
            nujw=0
        elif nubfj4+nu1_44+nujw==0:
            nusp4=0
            nujw=0
        elif nubfj4+nu1_44+nujw==2:
            nusp4=0
            nujw=1
        elif nubfj4+nu1_44+nujw==3:
            nusp4=1
            nujw=1

        if nubfj5+nu1_55+nujw==1:
            nusp5=1
            nujw=0
        elif nubfj5+nu1_55+nujw==0:
            nusp5=0
            nujw=0
        elif nubfj5+nu1_55+nujw==2:
            nusp5=0
            nujw=1
        elif nubfj5+nu1_55+nujw==3:
            nusp5=1
            nujw=1

        if nubfj6+nu1_66+nujw==1:
            nusp6=1
            nujw=0
        elif nubfj6+nu1_66+nujw==0:
            nusp6=0
            nujw=0
        elif nubfj6+nu1_66+nujw==2:
            nusp6=0
            nujw=1
        elif nubfj6+nu1_66+nujw==3:
            nusp6=1
            nujw=1

        if nubfj7+nu1_77+nujw==1:
            nusp7=1
            nujw=0
        elif nubfj7+nu1_77+nujw==0:
            nusp7=0
            nujw=0
        elif nubfj7+nu1_77+nujw==2:
            nusp7=0
            nujw=1
        elif nubfj7+nu1_77+nujw==3:
            nusp7=1
            nujw=1

        if nubfj8+nu1_88+nujw==1:
            nusp8=1
            nujw=0
        elif nubfj8+nu1_88+nujw==0:
            nusp8=0
            nujw=0
        elif nubfj8+nu1_88+nujw==2:
            nusp8=0
            nujw=1
        elif nubfj8+nu1_88+nujw==3:
            nusp8=1
            nujw=1

        if nubfj9+nu1_99+nujw==1:
            nusp9=1
            nujw=0
        elif nubfj9+nu1_99+nujw==0:
            nusp9=0
            nujw=0
        elif nubfj9+nu1_99+nujw==2:
            nusp9=0
            nujw=1
        elif nubfj9+nu1_99+nujw==3:
            nusp9=1
            nujw=1

        if nubfj10+nu1_1010+nujw==1:
            nusp10=1
            nujw=0
        elif nubfj10+nu1_1010+nujw==0:
            nusp10=0
            nujw=0
        elif nubfj10+nu1_1010+nujw==2:
            nusp10=0
            nujw=1
        elif nubfj10+nu1_1010+nujw==3:
            nusp10=1
            nujw=1

        if nubfj11+nu1_1111+nujw==1:
            nusp11=1
            nujw=0
        elif nubfj11+nu1_1111+nujw==0:
            nusp11=0
            nujw=0
        elif nubfj11+nu1_1111+nujw==2:
            nusp11=0
            nujw=1
        elif nubfj11+nu1_1111+nujw==3:
            nusp11=1
            nujw=1

        if nubfj12+nu1_1212+nujw==1:
            nusp12=1
            nujw=0
        elif nubfj12+nu1_1212+nujw==0:
            nusp12=0
            nujw=0
        elif nubfj12+nu1_1212+nujw==2:
            nusp12=0
            nujw=1
        elif nubfj12+nu1_1212+nujw==3:
            nusp12=1
            nujw=1

        if nubfj13+nu1_1313+nujw==1:
            nusp13=1
            nujw=0
        elif nubfj13+nu1_1313+nujw==0:
            nusp13=0
            nujw=0
        elif nubfj13+nu1_1313+nujw==2:
            nusp13=0
            nujw=1
        elif nubfj13+nu1_1313+nujw==3:
            nusp13=1
            nujw=1

        if nubfj14+nu1_1414+nujw==1:
            nusp14=1
            nujw=0
        elif nubfj14+nu1_1414+nujw==0:
            nusp14=0
            nujw=0
        elif nubfj14+nu1_1414+nujw==2:
            nusp14=0
            nujw=1
        elif nubfj14+nu1_1414+nujw==3:
            nusp14=1
            nujw=1

        if nubfj15+nu1_1515+nujw==1:
            nusp15=1
            nujw=0
        elif nubfj15+nu1_1515+nujw==0:
            nusp15=0
            nujw=0
        elif nubfj15+nu1_1515+nujw==2:
            nusp15=0
            nujw=1
        elif nubfj15+nu1_1515+nujw==3:
            nusp15=1
            nujw=1

        if nubfj16+nu1_1616+nujw==1:
            nusp16=1
            nujw=0
        elif nubfj16+nu1_1616+nujw==0:
            nusp16=0
            nujw=0
        elif nubfj16+nu1_1616+nujw==2:
            nusp16=0
            nujw=1
        elif nubfj16+nu1_1616+nujw==3:
            nusp16=1
            nujw=1

        txbfj5.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nusp16,nusp15,nusp14,nusp13,nusp12,nusp11,nusp10,nusp9,nusp8,nusp7,nusp6,nusp5,nusp4,nusp3,nusp2,nusp1))


        nu2_1_1=nu2_22
        nu2_22=nu2_33
        nu2_33=nu2_44
        nu2_44=nu2_55
        nu2_55=nu2_66
        nu2_66=nu2_77
        nu2_77=nu2_88
        nu2_88=nu2_99
        nu2_99=nu2_1010
        nu2_1010=nu2_1111
        nu2_1111=nu2_1212
        nu2_1212=nu2_1313
        nu2_1313=nu2_1414
        nu2_1414=nu2_1515
        nu2_1515=nu2_1616
        nu2_1616=nusp1
        #上面实现了乘数逻辑右移,且在空出的最高位填上部分积逻辑右移出来的最低位nusp1,得到新的乘数
        txcc5.insert('insert','{0}{1}{2}\n{3}{4}{5}{6} {7}{8}{9}{10}  {11}{12}{13}{14} {15}{16}{17}{18}'.format(nu2_4,nu2_3,nu2_2,nu2_1616,nu2_1515,nu2_1414,nu2_1313,nu2_1212,nu2_1111,nu2_1010,nu2_99,nu2_88,nu2_77,nu2_66,nu2_55,nu2_44,nu2_33,nu2_22,nu2_1_1))
        #上面实现了将新的乘数显示在下一个乘数文本框中


        if nu2_1_1==0:
            nu1_1_1=0
            nu1_22=0
            nu1_33=0
            nu1_44=0
            nu1_55=0
            nu1_66=0
            nu1_77=0
            nu1_88=0
            nu1_99=0
            nu1_1010=0
            nu1_1111=0
            nu1_1212=0
            nu1_1313=0
            nu1_1414=0
            nu1_1515=0
            nu1_1616=0
        elif nu2_1_1==1:
            nu1_1_1=nu1_1
            nu1_22=nu1_2
            nu1_33=nu1_3
            nu1_44=nu1_4
            nu1_55=nu1_5
            nu1_66=nu1_6
            nu1_77=nu1_7
            nu1_99=nu1_9
            nu1_88=nu1_8
            nu1_1010=nu1_10
            nu1_1111=nu1_11
            nu1_1212=nu1_12
            nu1_1313=nu1_13
            nu1_1414=nu1_14
            nu1_1515=nu1_15
            nu1_1616=0
        
        nubfj1=nusp2
        nubfj2=nusp3
        nubfj3=nusp4
        nubfj4=nusp5
        nubfj5=nusp6
        nubfj6=nusp7
        nubfj7=nusp8
        nubfj8=nusp9
        nubfj9=nusp10
        nubfj10=nusp11
        nubfj11=nusp12
        nubfj12=nusp13
        nubfj13=nusp14
        nubfj14=nusp15
        nubfj15=nusp16
        nubfj16=0
        #上面实现了部分积的逻辑右移
        txbfj5.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nubfj16,nubfj15,nubfj14,nubfj13,nubfj12,nubfj11,nubfj10,nubfj9,nubfj8,nubfj7,nubfj6,nubfj5,nubfj4,nubfj3,nubfj2,nubfj1))
        #上面实现了将逻辑右移后的部分积显示在未右移部分积的下面,两者在同一个文本框中
        if nu2_11==1:
            txbfj5.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,nu1_1515,nu1_1414,nu1_1313,nu1_1212,nu1_1111,nu1_1010,nu1_99,nu1_88,nu1_77,nu1_66,nu1_55,nu1_44,nu1_33,nu1_22,nu1_1_1))
            txsm5.insert('insert','\n→1位得Z4,乘数同时→1位\n乘数为1,加上x*')
        elif nu2_11==0:
            txbfj5.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0))
            txsm5.insert('insert','\n→1位得Z4,乘数同时→1位\n乘数为0,加上0')


        if nubfj1+nu1_1_1+nujw==1:
            nusp1=1
            nujw=0
        elif nubfj1+nu1_1_1+nujw==0:
            nusp1=0
            nujw=0
        elif nubfj1+nu1_1_1+nujw==2:
            nusp1=0
            nujw=1
        elif nubfj1+nu1_1_1+nujw==3:
            nusp1=1
            nujw=1

        if nubfj2+nu1_22+nujw==1:
            nusp2=1
            nujw=0
        elif nubfj2+nu1_22+nujw==0:
            nusp2=0
            nujw=0
        elif nubfj2+nu1_22+nujw==2:
            nusp2=0
            nujw=1
        elif nubfj2+nu1_22+nujw==3:
            nusp2=1
            nujw=1

        if nubfj3+nu1_33+nujw==1:
            nusp3=1
            nujw=0
        elif nubfj3+nu1_33+nujw==0:
            nusp3=0
            nujw=0
        elif nubfj3+nu1_33+nujw==2:
            nusp3=0
            nujw=1
        elif nubfj3+nu1_33+nujw==3:
            nusp3=1
            nujw=1

        if nubfj4+nu1_44+nujw==1:
            nusp4=1
            nujw=0
        elif nubfj4+nu1_44+nujw==0:
            nusp4=0
            nujw=0
        elif nubfj4+nu1_44+nujw==2:
            nusp4=0
            nujw=1
        elif nubfj4+nu1_44+nujw==3:
            nusp4=1
            nujw=1

        if nubfj5+nu1_55+nujw==1:
            nusp5=1
            nujw=0
        elif nubfj5+nu1_55+nujw==0:
            nusp5=0
            nujw=0
        elif nubfj5+nu1_55+nujw==2:
            nusp5=0
            nujw=1
        elif nubfj5+nu1_55+nujw==3:
            nusp5=1
            nujw=1

        if nubfj6+nu1_66+nujw==1:
            nusp6=1
            nujw=0
        elif nubfj6+nu1_66+nujw==0:
            nusp6=0
            nujw=0
        elif nubfj6+nu1_66+nujw==2:
            nusp6=0
            nujw=1
        elif nubfj6+nu1_66+nujw==3:
            nusp6=1
            nujw=1

        if nubfj7+nu1_77+nujw==1:
            nusp7=1
            nujw=0
        elif nubfj7+nu1_77+nujw==0:
            nusp7=0
            nujw=0
        elif nubfj7+nu1_77+nujw==2:
            nusp7=0
            nujw=1
        elif nubfj7+nu1_77+nujw==3:
            nusp7=1
            nujw=1

        if nubfj8+nu1_88+nujw==1:
            nusp8=1
            nujw=0
        elif nubfj8+nu1_88+nujw==0:
            nusp8=0
            nujw=0
        elif nubfj8+nu1_88+nujw==2:
            nusp8=0
            nujw=1
        elif nubfj8+nu1_88+nujw==3:
            nusp8=1
            nujw=1

        if nubfj9+nu1_99+nujw==1:
            nusp9=1
            nujw=0
        elif nubfj9+nu1_99+nujw==0:
            nusp9=0
            nujw=0
        elif nubfj9+nu1_99+nujw==2:
            nusp9=0
            nujw=1
        elif nubfj9+nu1_99+nujw==3:
            nusp9=1
            nujw=1

        if nubfj10+nu1_1010+nujw==1:
            nusp10=1
            nujw=0
        elif nubfj10+nu1_1010+nujw==0:
            nusp10=0
            nujw=0
        elif nubfj10+nu1_1010+nujw==2:
            nusp10=0
            nujw=1
        elif nubfj10+nu1_1010+nujw==3:
            nusp10=1
            nujw=1

        if nubfj11+nu1_1111+nujw==1:
            nusp11=1
            nujw=0
        elif nubfj11+nu1_1111+nujw==0:
            nusp11=0
            nujw=0
        elif nubfj11+nu1_1111+nujw==2:
            nusp11=0
            nujw=1
        elif nubfj11+nu1_1111+nujw==3:
            nusp11=1
            nujw=1

        if nubfj12+nu1_1212+nujw==1:
            nusp12=1
            nujw=0
        elif nubfj12+nu1_1212+nujw==0:
            nusp12=0
            nujw=0
        elif nubfj12+nu1_1212+nujw==2:
            nusp12=0
            nujw=1
        elif nubfj12+nu1_1212+nujw==3:
            nusp12=1
            nujw=1

        if nubfj13+nu1_1313+nujw==1:
            nusp13=1
            nujw=0
        elif nubfj13+nu1_1313+nujw==0:
            nusp13=0
            nujw=0
        elif nubfj13+nu1_1313+nujw==2:
            nusp13=0
            nujw=1
        elif nubfj13+nu1_1313+nujw==3:
            nusp13=1
            nujw=1

        if nubfj14+nu1_1414+nujw==1:
            nusp14=1
            nujw=0
        elif nubfj14+nu1_1414+nujw==0:
            nusp14=0
            nujw=0
        elif nubfj14+nu1_1414+nujw==2:
            nusp14=0
            nujw=1
        elif nubfj14+nu1_1414+nujw==3:
            nusp14=1
            nujw=1

        if nubfj15+nu1_1515+nujw==1:
            nusp15=1
            nujw=0
        elif nubfj15+nu1_1515+nujw==0:
            nusp15=0
            nujw=0
        elif nubfj15+nu1_1515+nujw==2:
            nusp15=0
            nujw=1
        elif nubfj15+nu1_1515+nujw==3:
            nusp15=1
            nujw=1

        if nubfj16+nu1_1616+nujw==1:
            nusp16=1
            nujw=0
        elif nubfj16+nu1_1616+nujw==0:
            nusp16=0
            nujw=0
        elif nubfj16+nu1_1616+nujw==2:
            nusp16=0
            nujw=1
        elif nubfj16+nu1_1616+nujw==3:
            nusp16=1
            nujw=1

        txbfj6.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nusp16,nusp15,nusp14,nusp13,nusp12,nusp11,nusp10,nusp9,nusp8,nusp7,nusp6,nusp5,nusp4,nusp3,nusp2,nusp1))


        nu2_1_1=nu2_22
        nu2_22=nu2_33
        nu2_33=nu2_44
        nu2_44=nu2_55
        nu2_55=nu2_66
        nu2_66=nu2_77
        nu2_77=nu2_88
        nu2_88=nu2_99
        nu2_99=nu2_1010
        nu2_1010=nu2_1111
        nu2_1111=nu2_1212
        nu2_1212=nu2_1313
        nu2_1313=nu2_1414
        nu2_1414=nu2_1515
        nu2_1515=nu2_1616
        nu2_1616=nusp1
        #上面实现了乘数逻辑右移,且在空出的最高位填上部分积逻辑右移出来的最低位nusp1,得到新的乘数
        txcc6.insert('insert','{0}{1}{2}{3}\n{4}{5}{6}{7} {8}{9}{10}{11}  {12}{13}{14}{15} {16}{17}{18}{19}'.format(nu2_5,nu2_4,nu2_3,nu2_2,nu2_1616,nu2_1515,nu2_1414,nu2_1313,nu2_1212,nu2_1111,nu2_1010,nu2_99,nu2_88,nu2_77,nu2_66,nu2_55,nu2_44,nu2_33,nu2_22,nu2_1_1))
        #上面实现了将新的乘数显示在下一个乘数文本框中


        if nu2_1_1==0:
            nu1_1_1=0
            nu1_22=0
            nu1_33=0
            nu1_44=0
            nu1_55=0
            nu1_66=0
            nu1_77=0
            nu1_88=0
            nu1_99=0
            nu1_1010=0
            nu1_1111=0
            nu1_1212=0
            nu1_1313=0
            nu1_1414=0
            nu1_1515=0
            nu1_1616=0
        elif nu2_1_1==1:
            nu1_1_1=nu1_1
            nu1_22=nu1_2
            nu1_33=nu1_3
            nu1_44=nu1_4
            nu1_55=nu1_5
            nu1_66=nu1_6
            nu1_77=nu1_7
            nu1_99=nu1_9
            nu1_88=nu1_8
            nu1_1010=nu1_10
            nu1_1111=nu1_11
            nu1_1212=nu1_12
            nu1_1313=nu1_13
            nu1_1414=nu1_14
            nu1_1515=nu1_15
            nu1_1616=0
        
        nubfj1=nusp2
        nubfj2=nusp3
        nubfj3=nusp4
        nubfj4=nusp5
        nubfj5=nusp6
        nubfj6=nusp7
        nubfj7=nusp8
        nubfj8=nusp9
        nubfj9=nusp10
        nubfj10=nusp11
        nubfj11=nusp12
        nubfj12=nusp13
        nubfj13=nusp14
        nubfj14=nusp15
        nubfj15=nusp16
        nubfj16=0
        #上面实现了部分积的逻辑右移
        txbfj6.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nubfj16,nubfj15,nubfj14,nubfj13,nubfj12,nubfj11,nubfj10,nubfj9,nubfj8,nubfj7,nubfj6,nubfj5,nubfj4,nubfj3,nubfj2,nubfj1))
        #上面实现了将逻辑右移后的部分积显示在未右移部分积的下面,两者在同一个文本框中
        if nu2_1_1==1:
            txbfj6.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,nu1_1515,nu1_1414,nu1_1313,nu1_1212,nu1_1111,nu1_1010,nu1_99,nu1_88,nu1_77,nu1_66,nu1_55,nu1_44,nu1_33,nu1_22,nu1_1_1))
            txsm6.insert('insert','\n→1位得Z5,乘数同时→1位\n乘数为1,加上x*')
        elif nu2_1_1==0:
            txbfj6.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0))
            txsm6.insert('insert','\n→1位得Z5,乘数同时→1位\n乘数为0,加上0')


        if nubfj1+nu1_1_1+nujw==1:
            nusp1=1
            nujw=0
        elif nubfj1+nu1_1_1+nujw==0:
            nusp1=0
            nujw=0
        elif nubfj1+nu1_1_1+nujw==2:
            nusp1=0
            nujw=1
        elif nubfj1+nu1_1_1+nujw==3:
            nusp1=1
            nujw=1

        if nubfj2+nu1_22+nujw==1:
            nusp2=1
            nujw=0
        elif nubfj2+nu1_22+nujw==0:
            nusp2=0
            nujw=0
        elif nubfj2+nu1_22+nujw==2:
            nusp2=0
            nujw=1
        elif nubfj2+nu1_22+nujw==3:
            nusp2=1
            nujw=1

        if nubfj3+nu1_33+nujw==1:
            nusp3=1
            nujw=0
        elif nubfj3+nu1_33+nujw==0:
            nusp3=0
            nujw=0
        elif nubfj3+nu1_33+nujw==2:
            nusp3=0
            nujw=1
        elif nubfj3+nu1_33+nujw==3:
            nusp3=1
            nujw=1

        if nubfj4+nu1_44+nujw==1:
            nusp4=1
            nujw=0
        elif nubfj4+nu1_44+nujw==0:
            nusp4=0
            nujw=0
        elif nubfj4+nu1_44+nujw==2:
            nusp4=0
            nujw=1
        elif nubfj4+nu1_44+nujw==3:
            nusp4=1
            nujw=1

        if nubfj5+nu1_55+nujw==1:
            nusp5=1
            nujw=0
        elif nubfj5+nu1_55+nujw==0:
            nusp5=0
            nujw=0
        elif nubfj5+nu1_55+nujw==2:
            nusp5=0
            nujw=1
        elif nubfj5+nu1_55+nujw==3:
            nusp5=1
            nujw=1

        if nubfj6+nu1_66+nujw==1:
            nusp6=1
            nujw=0
        elif nubfj6+nu1_66+nujw==0:
            nusp6=0
            nujw=0
        elif nubfj6+nu1_66+nujw==2:
            nusp6=0
            nujw=1
        elif nubfj6+nu1_66+nujw==3:
            nusp6=1
            nujw=1

        if nubfj7+nu1_77+nujw==1:
            nusp7=1
            nujw=0
        elif nubfj7+nu1_77+nujw==0:
            nusp7=0
            nujw=0
        elif nubfj7+nu1_77+nujw==2:
            nusp7=0
            nujw=1
        elif nubfj7+nu1_77+nujw==3:
            nusp7=1
            nujw=1

        if nubfj8+nu1_88+nujw==1:
            nusp8=1
            nujw=0
        elif nubfj8+nu1_88+nujw==0:
            nusp8=0
            nujw=0
        elif nubfj8+nu1_88+nujw==2:
            nusp8=0
            nujw=1
        elif nubfj8+nu1_88+nujw==3:
            nusp8=1
            nujw=1

        if nubfj9+nu1_99+nujw==1:
            nusp9=1
            nujw=0
        elif nubfj9+nu1_99+nujw==0:
            nusp9=0
            nujw=0
        elif nubfj9+nu1_99+nujw==2:
            nusp9=0
            nujw=1
        elif nubfj9+nu1_99+nujw==3:
            nusp9=1
            nujw=1

        if nubfj10+nu1_1010+nujw==1:
            nusp10=1
            nujw=0
        elif nubfj10+nu1_1010+nujw==0:
            nusp10=0
            nujw=0
        elif nubfj10+nu1_1010+nujw==2:
            nusp10=0
            nujw=1
        elif nubfj10+nu1_1010+nujw==3:
            nusp10=1
            nujw=1

        if nubfj11+nu1_1111+nujw==1:
            nusp11=1
            nujw=0
        elif nubfj11+nu1_1111+nujw==0:
            nusp11=0
            nujw=0
        elif nubfj11+nu1_1111+nujw==2:
            nusp11=0
            nujw=1
        elif nubfj11+nu1_1111+nujw==3:
            nusp11=1
            nujw=1

        if nubfj12+nu1_1212+nujw==1:
            nusp12=1
            nujw=0
        elif nubfj12+nu1_1212+nujw==0:
            nusp12=0
            nujw=0
        elif nubfj12+nu1_1212+nujw==2:
            nusp12=0
            nujw=1
        elif nubfj12+nu1_1212+nujw==3:
            nusp12=1
            nujw=1

        if nubfj13+nu1_1313+nujw==1:
            nusp13=1
            nujw=0
        elif nubfj13+nu1_1313+nujw==0:
            nusp13=0
            nujw=0
        elif nubfj13+nu1_1313+nujw==2:
            nusp13=0
            nujw=1
        elif nubfj13+nu1_1313+nujw==3:
            nusp13=1
            nujw=1

        if nubfj14+nu1_1414+nujw==1:
            nusp14=1
            nujw=0
        elif nubfj14+nu1_1414+nujw==0:
            nusp14=0
            nujw=0
        elif nubfj14+nu1_1414+nujw==2:
            nusp14=0
            nujw=1
        elif nubfj14+nu1_1414+nujw==3:
            nusp14=1
            nujw=1

        if nubfj15+nu1_1515+nujw==1:
            nusp15=1
            nujw=0
        elif nubfj15+nu1_1515+nujw==0:
            nusp15=0
            nujw=0
        elif nubfj15+nu1_1515+nujw==2:
            nusp15=0
            nujw=1
        elif nubfj15+nu1_1515+nujw==3:
            nusp15=1
            nujw=1

        if nubfj16+nu1_1616+nujw==1:
            nusp16=1
            nujw=0
        elif nubfj16+nu1_1616+nujw==0:
            nusp16=0
            nujw=0
        elif nubfj16+nu1_1616+nujw==2:
            nusp16=0
            nujw=1
        elif nubfj16+nu1_1616+nujw==3:
            nusp16=1
            nujw=1

        txbfj7.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nusp16,nusp15,nusp14,nusp13,nusp12,nusp11,nusp10,nusp9,nusp8,nusp7,nusp6,nusp5,nusp4,nusp3,nusp2,nusp1))


        nu2_1_1=nu2_22
        nu2_22=nu2_33
        nu2_33=nu2_44
        nu2_44=nu2_55
        nu2_55=nu2_66
        nu2_66=nu2_77
        nu2_77=nu2_88
        nu2_88=nu2_99
        nu2_99=nu2_1010
        nu2_1010=nu2_1111
        nu2_1111=nu2_1212
        nu2_1212=nu2_1313
        nu2_1313=nu2_1414
        nu2_1414=nu2_1515
        nu2_1515=nu2_1616
        nu2_1616=nusp1
        #上面实现了乘数逻辑右移,且在空出的最高位填上部分积逻辑右移出来的最低位nusp1,得到新的乘数
        txcc7.insert('insert','{0}{1}{2}{3} {4}\n{5}{6}{7}{8} {9}{10}{11}{12} {13}{14}{15}{16} {17}{18}{19}{20}'.format(nu2_6,nu2_5,nu2_4,nu2_3,nu2_2,nu2_1616,nu2_1515,nu2_1414,nu2_1313,nu2_1212,nu2_1111,nu2_1010,nu2_99,nu2_88,nu2_77,nu2_66,nu2_55,nu2_44,nu2_33,nu2_22,nu2_1_1))
        #上面实现了将新的乘数显示在下一个乘数文本框中


        if nu2_1_1==0:
            nu1_1_1=0
            nu1_22=0
            nu1_33=0
            nu1_44=0
            nu1_55=0
            nu1_66=0
            nu1_77=0
            nu1_88=0
            nu1_99=0
            nu1_1010=0
            nu1_1111=0
            nu1_1212=0
            nu1_1313=0
            nu1_1414=0
            nu1_1515=0
            nu1_1616=0
        elif nu2_1_1==1:
            nu1_1_1=nu1_1
            nu1_22=nu1_2
            nu1_33=nu1_3
            nu1_44=nu1_4
            nu1_55=nu1_5
            nu1_66=nu1_6
            nu1_77=nu1_7
            nu1_99=nu1_9
            nu1_88=nu1_8
            nu1_1010=nu1_10
            nu1_1111=nu1_11
            nu1_1212=nu1_12
            nu1_1313=nu1_13
            nu1_1414=nu1_14
            nu1_1515=nu1_15
            nu1_1616=0
        
        nubfj1=nusp2
        nubfj2=nusp3
        nubfj3=nusp4
        nubfj4=nusp5
        nubfj5=nusp6
        nubfj6=nusp7
        nubfj7=nusp8
        nubfj8=nusp9
        nubfj9=nusp10
        nubfj10=nusp11
        nubfj11=nusp12
        nubfj12=nusp13
        nubfj13=nusp14
        nubfj14=nusp15
        nubfj15=nusp16
        nubfj16=0
        #上面实现了部分积的逻辑右移
        txbfj7.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nubfj16,nubfj15,nubfj14,nubfj13,nubfj12,nubfj11,nubfj10,nubfj9,nubfj8,nubfj7,nubfj6,nubfj5,nubfj4,nubfj3,nubfj2,nubfj1))
        #上面实现了将逻辑右移后的部分积显示在未右移部分积的下面,两者在同一个文本框中
        if nu2_1_1==1:
            txbfj7.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,nu1_1515,nu1_1414,nu1_1313,nu1_1212,nu1_1111,nu1_1010,nu1_99,nu1_88,nu1_77,nu1_66,nu1_55,nu1_44,nu1_33,nu1_22,nu1_1_1))
            txsm7.insert('insert','\n→1位得Z6,乘数同时→1位\n乘数为1,加上x*')
        elif nu2_1_1==0:
            txbfj7.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0))
            txsm7.insert('insert','\n→1位得Z6,乘数同时→1位\n乘数为0,加上0')


        if nubfj1+nu1_1_1+nujw==1:
            nusp1=1
            nujw=0
        elif nubfj1+nu1_1_1+nujw==0:
            nusp1=0
            nujw=0
        elif nubfj1+nu1_1_1+nujw==2:
            nusp1=0
            nujw=1
        elif nubfj1+nu1_1_1+nujw==3:
            nusp1=1
            nujw=1

        if nubfj2+nu1_22+nujw==1:
            nusp2=1
            nujw=0
        elif nubfj2+nu1_22+nujw==0:
            nusp2=0
            nujw=0
        elif nubfj2+nu1_22+nujw==2:
            nusp2=0
            nujw=1
        elif nubfj2+nu1_22+nujw==3:
            nusp2=1
            nujw=1

        if nubfj3+nu1_33+nujw==1:
            nusp3=1
            nujw=0
        elif nubfj3+nu1_33+nujw==0:
            nusp3=0
            nujw=0
        elif nubfj3+nu1_33+nujw==2:
            nusp3=0
            nujw=1
        elif nubfj3+nu1_33+nujw==3:
            nusp3=1
            nujw=1

        if nubfj4+nu1_44+nujw==1:
            nusp4=1
            nujw=0
        elif nubfj4+nu1_44+nujw==0:
            nusp4=0
            nujw=0
        elif nubfj4+nu1_44+nujw==2:
            nusp4=0
            nujw=1
        elif nubfj4+nu1_44+nujw==3:
            nusp4=1
            nujw=1

        if nubfj5+nu1_55+nujw==1:
            nusp5=1
            nujw=0
        elif nubfj5+nu1_55+nujw==0:
            nusp5=0
            nujw=0
        elif nubfj5+nu1_55+nujw==2:
            nusp5=0
            nujw=1
        elif nubfj5+nu1_55+nujw==3:
            nusp5=1
            nujw=1

        if nubfj6+nu1_66+nujw==1:
            nusp6=1
            nujw=0
        elif nubfj6+nu1_66+nujw==0:
            nusp6=0
            nujw=0
        elif nubfj6+nu1_66+nujw==2:
            nusp6=0
            nujw=1
        elif nubfj6+nu1_66+nujw==3:
            nusp6=1
            nujw=1

        if nubfj7+nu1_77+nujw==1:
            nusp7=1
            nujw=0
        elif nubfj7+nu1_77+nujw==0:
            nusp7=0
            nujw=0
        elif nubfj7+nu1_77+nujw==2:
            nusp7=0
            nujw=1
        elif nubfj7+nu1_77+nujw==3:
            nusp7=1
            nujw=1

        if nubfj8+nu1_88+nujw==1:
            nusp8=1
            nujw=0
        elif nubfj8+nu1_88+nujw==0:
            nusp8=0
            nujw=0
        elif nubfj8+nu1_88+nujw==2:
            nusp8=0
            nujw=1
        elif nubfj8+nu1_88+nujw==3:
            nusp8=1
            nujw=1

        if nubfj9+nu1_99+nujw==1:
            nusp9=1
            nujw=0
        elif nubfj9+nu1_99+nujw==0:
            nusp9=0
            nujw=0
        elif nubfj9+nu1_99+nujw==2:
            nusp9=0
            nujw=1
        elif nubfj9+nu1_99+nujw==3:
            nusp9=1
            nujw=1

        if nubfj10+nu1_1010+nujw==1:
            nusp10=1
            nujw=0
        elif nubfj10+nu1_1010+nujw==0:
            nusp10=0
            nujw=0
        elif nubfj10+nu1_1010+nujw==2:
            nusp10=0
            nujw=1
        elif nubfj10+nu1_1010+nujw==3:
            nusp10=1
            nujw=1

        if nubfj11+nu1_1111+nujw==1:
            nusp11=1
            nujw=0
        elif nubfj11+nu1_1111+nujw==0:
            nusp11=0
            nujw=0
        elif nubfj11+nu1_1111+nujw==2:
            nusp11=0
            nujw=1
        elif nubfj11+nu1_1111+nujw==3:
            nusp11=1
            nujw=1

        if nubfj12+nu1_1212+nujw==1:
            nusp12=1
            nujw=0
        elif nubfj12+nu1_1212+nujw==0:
            nusp12=0
            nujw=0
        elif nubfj12+nu1_1212+nujw==2:
            nusp12=0
            nujw=1
        elif nubfj12+nu1_1212+nujw==3:
            nusp12=1
            nujw=1

        if nubfj13+nu1_1313+nujw==1:
            nusp13=1
            nujw=0
        elif nubfj13+nu1_1313+nujw==0:
            nusp13=0
            nujw=0
        elif nubfj13+nu1_1313+nujw==2:
            nusp13=0
            nujw=1
        elif nubfj13+nu1_1313+nujw==3:
            nusp13=1
            nujw=1

        if nubfj14+nu1_1414+nujw==1:
            nusp14=1
            nujw=0
        elif nubfj14+nu1_1414+nujw==0:
            nusp14=0
            nujw=0
        elif nubfj14+nu1_1414+nujw==2:
            nusp14=0
            nujw=1
        elif nubfj14+nu1_1414+nujw==3:
            nusp14=1
            nujw=1

        if nubfj15+nu1_1515+nujw==1:
            nusp15=1
            nujw=0
        elif nubfj15+nu1_1515+nujw==0:
            nusp15=0
            nujw=0
        elif nubfj15+nu1_1515+nujw==2:
            nusp15=0
            nujw=1
        elif nubfj15+nu1_1515+nujw==3:
            nusp15=1
            nujw=1

        if nubfj16+nu1_1616+nujw==1:
            nusp16=1
            nujw=0
        elif nubfj16+nu1_1616+nujw==0:
            nusp16=0
            nujw=0
        elif nubfj16+nu1_1616+nujw==2:
            nusp16=0
            nujw=1
        elif nubfj16+nu1_1616+nujw==3:
            nusp16=1
            nujw=1

        txbfj8.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nusp16,nusp15,nusp14,nusp13,nusp12,nusp11,nusp10,nusp9,nusp8,nusp7,nusp6,nusp5,nusp4,nusp3,nusp2,nusp1))


        nu2_1_1=nu2_22
        nu2_22=nu2_33
        nu2_33=nu2_44
        nu2_44=nu2_55
        nu2_55=nu2_66
        nu2_66=nu2_77
        nu2_77=nu2_88
        nu2_88=nu2_99
        nu2_99=nu2_1010
        nu2_1010=nu2_1111
        nu2_1111=nu2_1212
        nu2_1212=nu2_1313
        nu2_1313=nu2_1414
        nu2_1414=nu2_1515
        nu2_1515=nu2_1616
        nu2_1616=nusp1
        #上面实现了乘数逻辑右移,且在空出的最高位填上部分积逻辑右移出来的最低位nusp1,得到新的乘数
        txcc8.insert('insert','{0}{1}{2}{3} {4}{5}\n{6}{7}{8}{9} {10}{11}{12}{13}  {14}{15}{16}{17} {18}{19}{20}{21}'.format(nu2_7,nu2_6,nu2_5,nu2_4,nu2_3,nu2_2,nu2_1616,nu2_1515,nu2_1414,nu2_1313,nu2_1212,nu2_1111,nu2_1010,nu2_99,nu2_88,nu2_77,nu2_66,nu2_55,nu2_44,nu2_33,nu2_22,nu2_1_1))
        #上面实现了将新的乘数显示在下一个乘数文本框中


        if nu2_1_1==0:
            nu1_1_1=0
            nu1_22=0
            nu1_33=0
            nu1_44=0
            nu1_55=0
            nu1_66=0
            nu1_77=0
            nu1_88=0
            nu1_99=0
            nu1_1010=0
            nu1_1111=0
            nu1_1212=0
            nu1_1313=0
            nu1_1414=0
            nu1_1515=0
            nu1_1616=0
        elif nu2_1_1==1:
            nu1_1_1=nu1_1
            nu1_22=nu1_2
            nu1_33=nu1_3
            nu1_44=nu1_4
            nu1_55=nu1_5
            nu1_66=nu1_6
            nu1_77=nu1_7
            nu1_99=nu1_9
            nu1_88=nu1_8
            nu1_1010=nu1_10
            nu1_1111=nu1_11
            nu1_1212=nu1_12
            nu1_1313=nu1_13
            nu1_1414=nu1_14
            nu1_1515=nu1_15
            nu1_1616=0
        
        nubfj1=nusp2
        nubfj2=nusp3
        nubfj3=nusp4
        nubfj4=nusp5
        nubfj5=nusp6
        nubfj6=nusp7
        nubfj7=nusp8
        nubfj8=nusp9
        nubfj9=nusp10
        nubfj10=nusp11
        nubfj11=nusp12
        nubfj12=nusp13
        nubfj13=nusp14
        nubfj14=nusp15
        nubfj15=nusp16
        nubfj16=0
        #上面实现了部分积的逻辑右移
        txbfj8.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nubfj16,nubfj15,nubfj14,nubfj13,nubfj12,nubfj11,nubfj10,nubfj9,nubfj8,nubfj7,nubfj6,nubfj5,nubfj4,nubfj3,nubfj2,nubfj1))
        #上面实现了将逻辑右移后的部分积显示在未右移部分积的下面,两者在同一个文本框中
        if nu2_1_1==1:
            txbfj8.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,nu1_1515,nu1_1414,nu1_1313,nu1_1212,nu1_1111,nu1_1010,nu1_99,nu1_88,nu1_77,nu1_66,nu1_55,nu1_44,nu1_33,nu1_22,nu1_1_1))
            txsm8.insert('insert','\n→1位得Z7,乘数同时→1位\n乘数为1,加上x*')
        elif nu2_1_1==0:
            txbfj8.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0))
            txsm8.insert('insert','\n→1位得Z7,乘数同时→1位\n乘数为0,加上0')


        if nubfj1+nu1_1_1+nujw==1:
            nusp1=1
            nujw=0
        elif nubfj1+nu1_1_1+nujw==0:
            nusp1=0
            nujw=0
        elif nubfj1+nu1_1_1+nujw==2:
            nusp1=0
            nujw=1
        elif nubfj1+nu1_1_1+nujw==3:
            nusp1=1
            nujw=1

        if nubfj2+nu1_22+nujw==1:
            nusp2=1
            nujw=0
        elif nubfj2+nu1_22+nujw==0:
            nusp2=0
            nujw=0
        elif nubfj2+nu1_22+nujw==2:
            nusp2=0
            nujw=1
        elif nubfj2+nu1_22+nujw==3:
            nusp2=1
            nujw=1

        if nubfj3+nu1_33+nujw==1:
            nusp3=1
            nujw=0
        elif nubfj3+nu1_33+nujw==0:
            nusp3=0
            nujw=0
        elif nubfj3+nu1_33+nujw==2:
            nusp3=0
            nujw=1
        elif nubfj3+nu1_33+nujw==3:
            nusp3=1
            nujw=1

        if nubfj4+nu1_44+nujw==1:
            nusp4=1
            nujw=0
        elif nubfj4+nu1_44+nujw==0:
            nusp4=0
            nujw=0
        elif nubfj4+nu1_44+nujw==2:
            nusp4=0
            nujw=1
        elif nubfj4+nu1_44+nujw==3:
            nusp4=1
            nujw=1

        if nubfj5+nu1_55+nujw==1:
            nusp5=1
            nujw=0
        elif nubfj5+nu1_55+nujw==0:
            nusp5=0
            nujw=0
        elif nubfj5+nu1_55+nujw==2:
            nusp5=0
            nujw=1
        elif nubfj5+nu1_55+nujw==3:
            nusp5=1
            nujw=1

        if nubfj6+nu1_66+nujw==1:
            nusp6=1
            nujw=0
        elif nubfj6+nu1_66+nujw==0:
            nusp6=0
            nujw=0
        elif nubfj6+nu1_66+nujw==2:
            nusp6=0
            nujw=1
        elif nubfj6+nu1_66+nujw==3:
            nusp6=1
            nujw=1

        if nubfj7+nu1_77+nujw==1:
            nusp7=1
            nujw=0
        elif nubfj7+nu1_77+nujw==0:
            nusp7=0
            nujw=0
        elif nubfj7+nu1_77+nujw==2:
            nusp7=0
            nujw=1
        elif nubfj7+nu1_77+nujw==3:
            nusp7=1
            nujw=1

        if nubfj8+nu1_88+nujw==1:
            nusp8=1
            nujw=0
        elif nubfj8+nu1_88+nujw==0:
            nusp8=0
            nujw=0
        elif nubfj8+nu1_88+nujw==2:
            nusp8=0
            nujw=1
        elif nubfj8+nu1_88+nujw==3:
            nusp8=1
            nujw=1

        if nubfj9+nu1_99+nujw==1:
            nusp9=1
            nujw=0
        elif nubfj9+nu1_99+nujw==0:
            nusp9=0
            nujw=0
        elif nubfj9+nu1_99+nujw==2:
            nusp9=0
            nujw=1
        elif nubfj9+nu1_99+nujw==3:
            nusp9=1
            nujw=1

        if nubfj10+nu1_1010+nujw==1:
            nusp10=1
            nujw=0
        elif nubfj10+nu1_1010+nujw==0:
            nusp10=0
            nujw=0
        elif nubfj10+nu1_1010+nujw==2:
            nusp10=0
            nujw=1
        elif nubfj10+nu1_1010+nujw==3:
            nusp10=1
            nujw=1

        if nubfj11+nu1_1111+nujw==1:
            nusp11=1
            nujw=0
        elif nubfj11+nu1_1111+nujw==0:
            nusp11=0
            nujw=0
        elif nubfj11+nu1_1111+nujw==2:
            nusp11=0
            nujw=1
        elif nubfj11+nu1_1111+nujw==3:
            nusp11=1
            nujw=1

        if nubfj12+nu1_1212+nujw==1:
            nusp12=1
            nujw=0
        elif nubfj12+nu1_1212+nujw==0:
            nusp12=0
            nujw=0
        elif nubfj12+nu1_1212+nujw==2:
            nusp12=0
            nujw=1
        elif nubfj12+nu1_1212+nujw==3:
            nusp12=1
            nujw=1

        if nubfj13+nu1_1313+nujw==1:
            nusp13=1
            nujw=0
        elif nubfj13+nu1_1313+nujw==0:
            nusp13=0
            nujw=0
        elif nubfj13+nu1_1313+nujw==2:
            nusp13=0
            nujw=1
        elif nubfj13+nu1_1313+nujw==3:
            nusp13=1
            nujw=1

        if nubfj14+nu1_1414+nujw==1:
            nusp14=1
            nujw=0
        elif nubfj14+nu1_1414+nujw==0:
            nusp14=0
            nujw=0
        elif nubfj14+nu1_1414+nujw==2:
            nusp14=0
            nujw=1
        elif nubfj14+nu1_1414+nujw==3:
            nusp14=1
            nujw=1

        if nubfj15+nu1_1515+nujw==1:
            nusp15=1
            nujw=0
        elif nubfj15+nu1_1515+nujw==0:
            nusp15=0
            nujw=0
        elif nubfj15+nu1_1515+nujw==2:
            nusp15=0
            nujw=1
        elif nubfj15+nu1_1515+nujw==3:
            nusp15=1
            nujw=1

        if nubfj16+nu1_1616+nujw==1:
            nusp16=1
            nujw=0
        elif nubfj16+nu1_1616+nujw==0:
            nusp16=0
            nujw=0
        elif nubfj16+nu1_1616+nujw==2:
            nusp16=0
            nujw=1
        elif nubfj16+nu1_1616+nujw==3:
            nusp16=1
            nujw=1

        txbfj9.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nusp16,nusp15,nusp14,nusp13,nusp12,nusp11,nusp10,nusp9,nusp8,nusp7,nusp6,nusp5,nusp4,nusp3,nusp2,nusp1))


        nu2_1_1=nu2_22
        nu2_22=nu2_33
        nu2_33=nu2_44
        nu2_44=nu2_55
        nu2_55=nu2_66
        nu2_66=nu2_77
        nu2_77=nu2_88
        nu2_88=nu2_99
        nu2_99=nu2_1010
        nu2_1010=nu2_1111
        nu2_1111=nu2_1212
        nu2_1212=nu2_1313
        nu2_1313=nu2_1414
        nu2_1414=nu2_1515
        nu2_1515=nu2_1616
        nu2_1616=nusp1
        #上面实现了乘数逻辑右移,且在空出的最高位填上部分积逻辑右移出来的最低位nusp1,得到新的乘数
        txcc9.insert('insert','{0}{1}{2}{3} {4}{5}{6}\n{7}{8}{9}{10} {11}{12}{13}{14}  {15}{16}{17}{18} {19}{20}{21}{22}'.format(nu2_8,nu2_7,nu2_6,nu2_5,nu2_4,nu2_3,nu2_2,nu2_1616,nu2_1515,nu2_1414,nu2_1313,nu2_1212,nu2_1111,nu2_1010,nu2_99,nu2_88,nu2_77,nu2_66,nu2_55,nu2_44,nu2_33,nu2_22,nu2_1_1))
        #上面实现了将新的乘数显示在下一个乘数文本框中


        if nu2_1_1==0:
            nu1_1_1=0
            nu1_22=0
            nu1_33=0
            nu1_44=0
            nu1_55=0
            nu1_66=0
            nu1_77=0
            nu1_88=0
            nu1_99=0
            nu1_1010=0
            nu1_1111=0
            nu1_1212=0
            nu1_1313=0
            nu1_1414=0
            nu1_1515=0
            nu1_1616=0
        elif nu2_1_1==1:
            nu1_1_1=nu1_1
            nu1_22=nu1_2
            nu1_33=nu1_3
            nu1_44=nu1_4
            nu1_55=nu1_5
            nu1_66=nu1_6
            nu1_77=nu1_7
            nu1_99=nu1_9
            nu1_88=nu1_8
            nu1_1010=nu1_10
            nu1_1111=nu1_11
            nu1_1212=nu1_12
            nu1_1313=nu1_13
            nu1_1414=nu1_14
            nu1_1515=nu1_15
            nu1_1616=0
        
        nubfj1=nusp2
        nubfj2=nusp3
        nubfj3=nusp4
        nubfj4=nusp5
        nubfj5=nusp6
        nubfj6=nusp7
        nubfj7=nusp8
        nubfj8=nusp9
        nubfj9=nusp10
        nubfj10=nusp11
        nubfj11=nusp12
        nubfj12=nusp13
        nubfj13=nusp14
        nubfj14=nusp15
        nubfj15=nusp16
        nubfj16=0
        #上面实现了部分积的逻辑右移
        txbfj9.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nubfj16,nubfj15,nubfj14,nubfj13,nubfj12,nubfj11,nubfj10,nubfj9,nubfj8,nubfj7,nubfj6,nubfj5,nubfj4,nubfj3,nubfj2,nubfj1))
        #上面实现了将逻辑右移后的部分积显示在未右移部分积的下面,两者在同一个文本框中
        if nu2_1_1==1:
            txbfj9.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,nu1_1515,nu1_1414,nu1_1313,nu1_1212,nu1_1111,nu1_1010,nu1_99,nu1_88,nu1_77,nu1_66,nu1_55,nu1_44,nu1_33,nu1_22,nu1_1_1))
            txsm9.insert('insert','\n→1位得Z8,乘数同时→1位\n乘数为1,加上x*')
        elif nu2_1_1==0:
            txbfj9.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0))
            txsm9.insert('insert','\n→1位得Z8,乘数同时→1位\n乘数为0,加上0')


        if nubfj1+nu1_1_1+nujw==1:
            nusp1=1
            nujw=0
        elif nubfj1+nu1_1_1+nujw==0:
            nusp1=0
            nujw=0
        elif nubfj1+nu1_1_1+nujw==2:
            nusp1=0
            nujw=1
        elif nubfj1+nu1_1_1+nujw==3:
            nusp1=1
            nujw=1

        if nubfj2+nu1_22+nujw==1:
            nusp2=1
            nujw=0
        elif nubfj2+nu1_22+nujw==0:
            nusp2=0
            nujw=0
        elif nubfj2+nu1_22+nujw==2:
            nusp2=0
            nujw=1
        elif nubfj2+nu1_22+nujw==3:
            nusp2=1
            nujw=1

        if nubfj3+nu1_33+nujw==1:
            nusp3=1
            nujw=0
        elif nubfj3+nu1_33+nujw==0:
            nusp3=0
            nujw=0
        elif nubfj3+nu1_33+nujw==2:
            nusp3=0
            nujw=1
        elif nubfj3+nu1_33+nujw==3:
            nusp3=1
            nujw=1

        if nubfj4+nu1_44+nujw==1:
            nusp4=1
            nujw=0
        elif nubfj4+nu1_44+nujw==0:
            nusp4=0
            nujw=0
        elif nubfj4+nu1_44+nujw==2:
            nusp4=0
            nujw=1
        elif nubfj4+nu1_44+nujw==3:
            nusp4=1
            nujw=1

        if nubfj5+nu1_55+nujw==1:
            nusp5=1
            nujw=0
        elif nubfj5+nu1_55+nujw==0:
            nusp5=0
            nujw=0
        elif nubfj5+nu1_55+nujw==2:
            nusp5=0
            nujw=1
        elif nubfj5+nu1_55+nujw==3:
            nusp5=1
            nujw=1

        if nubfj6+nu1_66+nujw==1:
            nusp6=1
            nujw=0
        elif nubfj6+nu1_66+nujw==0:
            nusp6=0
            nujw=0
        elif nubfj6+nu1_66+nujw==2:
            nusp6=0
            nujw=1
        elif nubfj6+nu1_66+nujw==3:
            nusp6=1
            nujw=1

        if nubfj7+nu1_77+nujw==1:
            nusp7=1
            nujw=0
        elif nubfj7+nu1_77+nujw==0:
            nusp7=0
            nujw=0
        elif nubfj7+nu1_77+nujw==2:
            nusp7=0
            nujw=1
        elif nubfj7+nu1_77+nujw==3:
            nusp7=1
            nujw=1

        if nubfj8+nu1_88+nujw==1:
            nusp8=1
            nujw=0
        elif nubfj8+nu1_88+nujw==0:
            nusp8=0
            nujw=0
        elif nubfj8+nu1_88+nujw==2:
            nusp8=0
            nujw=1
        elif nubfj8+nu1_88+nujw==3:
            nusp8=1
            nujw=1

        if nubfj9+nu1_99+nujw==1:
            nusp9=1
            nujw=0
        elif nubfj9+nu1_99+nujw==0:
            nusp9=0
            nujw=0
        elif nubfj9+nu1_99+nujw==2:
            nusp9=0
            nujw=1
        elif nubfj9+nu1_99+nujw==3:
            nusp9=1
            nujw=1

        if nubfj10+nu1_1010+nujw==1:
            nusp10=1
            nujw=0
        elif nubfj10+nu1_1010+nujw==0:
            nusp10=0
            nujw=0
        elif nubfj10+nu1_1010+nujw==2:
            nusp10=0
            nujw=1
        elif nubfj10+nu1_1010+nujw==3:
            nusp10=1
            nujw=1

        if nubfj11+nu1_1111+nujw==1:
            nusp11=1
            nujw=0
        elif nubfj11+nu1_1111+nujw==0:
            nusp11=0
            nujw=0
        elif nubfj11+nu1_1111+nujw==2:
            nusp11=0
            nujw=1
        elif nubfj11+nu1_1111+nujw==3:
            nusp11=1
            nujw=1

        if nubfj12+nu1_1212+nujw==1:
            nusp12=1
            nujw=0
        elif nubfj12+nu1_1212+nujw==0:
            nusp12=0
            nujw=0
        elif nubfj12+nu1_1212+nujw==2:
            nusp12=0
            nujw=1
        elif nubfj12+nu1_1212+nujw==3:
            nusp12=1
            nujw=1

        if nubfj13+nu1_1313+nujw==1:
            nusp13=1
            nujw=0
        elif nubfj13+nu1_1313+nujw==0:
            nusp13=0
            nujw=0
        elif nubfj13+nu1_1313+nujw==2:
            nusp13=0
            nujw=1
        elif nubfj13+nu1_1313+nujw==3:
            nusp13=1
            nujw=1

        if nubfj14+nu1_1414+nujw==1:
            nusp14=1
            nujw=0
        elif nubfj14+nu1_1414+nujw==0:
            nusp14=0
            nujw=0
        elif nubfj14+nu1_1414+nujw==2:
            nusp14=0
            nujw=1
        elif nubfj14+nu1_1414+nujw==3:
            nusp14=1
            nujw=1

        if nubfj15+nu1_1515+nujw==1:
            nusp15=1
            nujw=0
        elif nubfj15+nu1_1515+nujw==0:
            nusp15=0
            nujw=0
        elif nubfj15+nu1_1515+nujw==2:
            nusp15=0
            nujw=1
        elif nubfj15+nu1_1515+nujw==3:
            nusp15=1
            nujw=1

        if nubfj16+nu1_1616+nujw==1:
            nusp16=1
            nujw=0
        elif nubfj16+nu1_1616+nujw==0:
            nusp16=0
            nujw=0
        elif nubfj16+nu1_1616+nujw==2:
            nusp16=0
            nujw=1
        elif nubfj16+nu1_1616+nujw==3:
            nusp16=1
            nujw=1

        txbfj10.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nusp16,nusp15,nusp14,nusp13,nusp12,nusp11,nusp10,nusp9,nusp8,nusp7,nusp6,nusp5,nusp4,nusp3,nusp2,nusp1))


        nu2_1_1=nu2_22
        nu2_22=nu2_33
        nu2_33=nu2_44
        nu2_44=nu2_55
        nu2_55=nu2_66
        nu2_66=nu2_77
        nu2_77=nu2_88
        nu2_88=nu2_99
        nu2_99=nu2_1010
        nu2_1010=nu2_1111
        nu2_1111=nu2_1212
        nu2_1212=nu2_1313
        nu2_1313=nu2_1414
        nu2_1414=nu2_1515
        nu2_1515=nu2_1616
        nu2_1616=nusp1
        #上面实现了乘数逻辑右移,且在空出的最高位填上部分积逻辑右移出来的最低位nusp1,得到新的乘数
        txcc10.insert('insert','{0}{1}{2}{3} {4}{5}{6}{7}\n{8}{9}{10}{11} {12}{13}{14}{15}  {16}{17}{18}{19} {20}{21}{22}{23}'.format(nu2_9,nu2_8,nu2_7,nu2_6,nu2_5,nu2_4,nu2_3,nu2_2,nu2_1616,nu2_1515,nu2_1414,nu2_1313,nu2_1212,nu2_1111,nu2_1010,nu2_99,nu2_88,nu2_77,nu2_66,nu2_55,nu2_44,nu2_33,nu2_22,nu2_1_1))
        #上面实现了将新的乘数显示在下一个乘数文本框中


        if nu2_1_1==0:
            nu1_1_1=0
            nu1_22=0
            nu1_33=0
            nu1_44=0
            nu1_55=0
            nu1_66=0
            nu1_77=0
            nu1_88=0
            nu1_99=0
            nu1_1010=0
            nu1_1111=0
            nu1_1212=0
            nu1_1313=0
            nu1_1414=0
            nu1_1515=0
            nu1_1616=0
        elif nu2_1_1==1:
            nu1_1_1=nu1_1
            nu1_22=nu1_2
            nu1_33=nu1_3
            nu1_44=nu1_4
            nu1_55=nu1_5
            nu1_66=nu1_6
            nu1_77=nu1_7
            nu1_99=nu1_9
            nu1_88=nu1_8
            nu1_1010=nu1_10
            nu1_1111=nu1_11
            nu1_1212=nu1_12
            nu1_1313=nu1_13
            nu1_1414=nu1_14
            nu1_1515=nu1_15
            nu1_1616=0
        
        nubfj1=nusp2
        nubfj2=nusp3
        nubfj3=nusp4
        nubfj4=nusp5
        nubfj5=nusp6
        nubfj6=nusp7
        nubfj7=nusp8
        nubfj8=nusp9
        nubfj9=nusp10
        nubfj10=nusp11
        nubfj11=nusp12
        nubfj12=nusp13
        nubfj13=nusp14
        nubfj14=nusp15
        nubfj15=nusp16
        nubfj16=0
        #上面实现了部分积的逻辑右移
        txbfj10.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nubfj16,nubfj15,nubfj14,nubfj13,nubfj12,nubfj11,nubfj10,nubfj9,nubfj8,nubfj7,nubfj6,nubfj5,nubfj4,nubfj3,nubfj2,nubfj1))
        #上面实现了将逻辑右移后的部分积显示在未右移部分积的下面,两者在同一个文本框中
        if nu2_1_1==1:
            txbfj10.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,nu1_1515,nu1_1414,nu1_1313,nu1_1212,nu1_1111,nu1_1010,nu1_99,nu1_88,nu1_77,nu1_66,nu1_55,nu1_44,nu1_33,nu1_22,nu1_1_1))
            txsm10.insert('insert','\n→1位得Z9,乘数同时→1位\n乘数为1,加上x*')
        elif nu2_1_1==0:
            txbfj10.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0))
            txsm10.insert('insert','\n→1位得Z9,乘数同时→1位\n乘数为0,加上0')


        if nubfj1+nu1_1_1+nujw==1:
            nusp1=1
            nujw=0
        elif nubfj1+nu1_1_1+nujw==0:
            nusp1=0
            nujw=0
        elif nubfj1+nu1_1_1+nujw==2:
            nusp1=0
            nujw=1
        elif nubfj1+nu1_1_1+nujw==3:
            nusp1=1
            nujw=1

        if nubfj2+nu1_22+nujw==1:
            nusp2=1
            nujw=0
        elif nubfj2+nu1_22+nujw==0:
            nusp2=0
            nujw=0
        elif nubfj2+nu1_22+nujw==2:
            nusp2=0
            nujw=1
        elif nubfj2+nu1_22+nujw==3:
            nusp2=1
            nujw=1

        if nubfj3+nu1_33+nujw==1:
            nusp3=1
            nujw=0
        elif nubfj3+nu1_33+nujw==0:
            nusp3=0
            nujw=0
        elif nubfj3+nu1_33+nujw==2:
            nusp3=0
            nujw=1
        elif nubfj3+nu1_33+nujw==3:
            nusp3=1
            nujw=1

        if nubfj4+nu1_44+nujw==1:
            nusp4=1
            nujw=0
        elif nubfj4+nu1_44+nujw==0:
            nusp4=0
            nujw=0
        elif nubfj4+nu1_44+nujw==2:
            nusp4=0
            nujw=1
        elif nubfj4+nu1_44+nujw==3:
            nusp4=1
            nujw=1

        if nubfj5+nu1_55+nujw==1:
            nusp5=1
            nujw=0
        elif nubfj5+nu1_55+nujw==0:
            nusp5=0
            nujw=0
        elif nubfj5+nu1_55+nujw==2:
            nusp5=0
            nujw=1
        elif nubfj5+nu1_55+nujw==3:
            nusp5=1
            nujw=1

        if nubfj6+nu1_66+nujw==1:
            nusp6=1
            nujw=0
        elif nubfj6+nu1_66+nujw==0:
            nusp6=0
            nujw=0
        elif nubfj6+nu1_66+nujw==2:
            nusp6=0
            nujw=1
        elif nubfj6+nu1_66+nujw==3:
            nusp6=1
            nujw=1

        if nubfj7+nu1_77+nujw==1:
            nusp7=1
            nujw=0
        elif nubfj7+nu1_77+nujw==0:
            nusp7=0
            nujw=0
        elif nubfj7+nu1_77+nujw==2:
            nusp7=0
            nujw=1
        elif nubfj7+nu1_77+nujw==3:
            nusp7=1
            nujw=1

        if nubfj8+nu1_88+nujw==1:
            nusp8=1
            nujw=0
        elif nubfj8+nu1_88+nujw==0:
            nusp8=0
            nujw=0
        elif nubfj8+nu1_88+nujw==2:
            nusp8=0
            nujw=1
        elif nubfj8+nu1_88+nujw==3:
            nusp8=1
            nujw=1

        if nubfj9+nu1_99+nujw==1:
            nusp9=1
            nujw=0
        elif nubfj9+nu1_99+nujw==0:
            nusp9=0
            nujw=0
        elif nubfj9+nu1_99+nujw==2:
            nusp9=0
            nujw=1
        elif nubfj9+nu1_99+nujw==3:
            nusp9=1
            nujw=1

        if nubfj10+nu1_1010+nujw==1:
            nusp10=1
            nujw=0
        elif nubfj10+nu1_1010+nujw==0:
            nusp10=0
            nujw=0
        elif nubfj10+nu1_1010+nujw==2:
            nusp10=0
            nujw=1
        elif nubfj10+nu1_1010+nujw==3:
            nusp10=1
            nujw=1

        if nubfj11+nu1_1111+nujw==1:
            nusp11=1
            nujw=0
        elif nubfj11+nu1_1111+nujw==0:
            nusp11=0
            nujw=0
        elif nubfj11+nu1_1111+nujw==2:
            nusp11=0
            nujw=1
        elif nubfj11+nu1_1111+nujw==3:
            nusp11=1
            nujw=1

        if nubfj12+nu1_1212+nujw==1:
            nusp12=1
            nujw=0
        elif nubfj12+nu1_1212+nujw==0:
            nusp12=0
            nujw=0
        elif nubfj12+nu1_1212+nujw==2:
            nusp12=0
            nujw=1
        elif nubfj12+nu1_1212+nujw==3:
            nusp12=1
            nujw=1

        if nubfj13+nu1_1313+nujw==1:
            nusp13=1
            nujw=0
        elif nubfj13+nu1_1313+nujw==0:
            nusp13=0
            nujw=0
        elif nubfj13+nu1_1313+nujw==2:
            nusp13=0
            nujw=1
        elif nubfj13+nu1_1313+nujw==3:
            nusp13=1
            nujw=1

        if nubfj14+nu1_1414+nujw==1:
            nusp14=1
            nujw=0
        elif nubfj14+nu1_1414+nujw==0:
            nusp14=0
            nujw=0
        elif nubfj14+nu1_1414+nujw==2:
            nusp14=0
            nujw=1
        elif nubfj14+nu1_1414+nujw==3:
            nusp14=1
            nujw=1

        if nubfj15+nu1_1515+nujw==1:
            nusp15=1
            nujw=0
        elif nubfj15+nu1_1515+nujw==0:
            nusp15=0
            nujw=0
        elif nubfj15+nu1_1515+nujw==2:
            nusp15=0
            nujw=1
        elif nubfj15+nu1_1515+nujw==3:
            nusp15=1
            nujw=1

        if nubfj16+nu1_1616+nujw==1:
            nusp16=1
            nujw=0
        elif nubfj16+nu1_1616+nujw==0:
            nusp16=0
            nujw=0
        elif nubfj16+nu1_1616+nujw==2:
            nusp16=0
            nujw=1
        elif nubfj16+nu1_1616+nujw==3:
            nusp16=1
            nujw=1

        txbfj11.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nusp16,nusp15,nusp14,nusp13,nusp12,nusp11,nusp10,nusp9,nusp8,nusp7,nusp6,nusp5,nusp4,nusp3,nusp2,nusp1))


        nu2_1_1=nu2_22
        nu2_22=nu2_33
        nu2_33=nu2_44
        nu2_44=nu2_55
        nu2_55=nu2_66
        nu2_66=nu2_77
        nu2_77=nu2_88
        nu2_88=nu2_99
        nu2_99=nu2_1010
        nu2_1010=nu2_1111
        nu2_1111=nu2_1212
        nu2_1212=nu2_1313
        nu2_1313=nu2_1414
        nu2_1414=nu2_1515
        nu2_1515=nu2_1616
        nu2_1616=nusp1
        #上面实现了乘数逻辑右移,且在空出的最高位填上部分积逻辑右移出来的最低位nusp1,得到新的乘数
        txcc11.insert('insert','{0}{1}{2}{3} {4}{5}{6}{7} {8}\n{9}{10}{11}{12} {13}{14}{15}{16}  {17}{18}{19}{20} {21}{22}{23}{24}'.format(nu2_10,nu2_9,nu2_8,nu2_7,nu2_6,nu2_5,nu2_4,nu2_3,nu2_2,nu2_1616,nu2_1515,nu2_1414,nu2_1313,nu2_1212,nu2_1111,nu2_1010,nu2_99,nu2_88,nu2_77,nu2_66,nu2_55,nu2_44,nu2_33,nu2_22,nu2_1_1))
        #上面实现了将新的乘数显示在下一个乘数文本框中


        if nu2_1_1==0:
            nu1_1_1=0
            nu1_22=0
            nu1_33=0
            nu1_44=0
            nu1_55=0
            nu1_66=0
            nu1_77=0
            nu1_88=0
            nu1_99=0
            nu1_1010=0
            nu1_1111=0
            nu1_1212=0
            nu1_1313=0
            nu1_1414=0
            nu1_1515=0
            nu1_1616=0
        elif nu2_1_1==1:
            nu1_1_1=nu1_1
            nu1_22=nu1_2
            nu1_33=nu1_3
            nu1_44=nu1_4
            nu1_55=nu1_5
            nu1_66=nu1_6
            nu1_77=nu1_7
            nu1_99=nu1_9
            nu1_88=nu1_8
            nu1_1010=nu1_10
            nu1_1111=nu1_11
            nu1_1212=nu1_12
            nu1_1313=nu1_13
            nu1_1414=nu1_14
            nu1_1515=nu1_15
            nu1_1616=0
        
        nubfj1=nusp2
        nubfj2=nusp3
        nubfj3=nusp4
        nubfj4=nusp5
        nubfj5=nusp6
        nubfj6=nusp7
        nubfj7=nusp8
        nubfj8=nusp9
        nubfj9=nusp10
        nubfj10=nusp11
        nubfj11=nusp12
        nubfj12=nusp13
        nubfj13=nusp14
        nubfj14=nusp15
        nubfj15=nusp16
        nubfj16=0
        #上面实现了部分积的逻辑右移
        txbfj11.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nubfj16,nubfj15,nubfj14,nubfj13,nubfj12,nubfj11,nubfj10,nubfj9,nubfj8,nubfj7,nubfj6,nubfj5,nubfj4,nubfj3,nubfj2,nubfj1))
        #上面实现了将逻辑右移后的部分积显示在未右移部分积的下面,两者在同一个文本框中
        if nu2_1_1==1:
            txbfj11.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,nu1_1515,nu1_1414,nu1_1313,nu1_1212,nu1_1111,nu1_1010,nu1_99,nu1_88,nu1_77,nu1_66,nu1_55,nu1_44,nu1_33,nu1_22,nu1_1_1))
            txsm11.insert('insert','\n→1位得Z10,乘数同时→1位\n乘数为1,加上x*')
        elif nu2_1_1==0:
            txbfj11.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0))
            txsm11.insert('insert','\n→1位得Z10,乘数同时→1位\n乘数为0,加上0')


        if nubfj1+nu1_1_1+nujw==1:
            nusp1=1
            nujw=0
        elif nubfj1+nu1_1_1+nujw==0:
            nusp1=0
            nujw=0
        elif nubfj1+nu1_1_1+nujw==2:
            nusp1=0
            nujw=1
        elif nubfj1+nu1_1_1+nujw==3:
            nusp1=1
            nujw=1

        if nubfj2+nu1_22+nujw==1:
            nusp2=1
            nujw=0
        elif nubfj2+nu1_22+nujw==0:
            nusp2=0
            nujw=0
        elif nubfj2+nu1_22+nujw==2:
            nusp2=0
            nujw=1
        elif nubfj2+nu1_22+nujw==3:
            nusp2=1
            nujw=1

        if nubfj3+nu1_33+nujw==1:
            nusp3=1
            nujw=0
        elif nubfj3+nu1_33+nujw==0:
            nusp3=0
            nujw=0
        elif nubfj3+nu1_33+nujw==2:
            nusp3=0
            nujw=1
        elif nubfj3+nu1_33+nujw==3:
            nusp3=1
            nujw=1

        if nubfj4+nu1_44+nujw==1:
            nusp4=1
            nujw=0
        elif nubfj4+nu1_44+nujw==0:
            nusp4=0
            nujw=0
        elif nubfj4+nu1_44+nujw==2:
            nusp4=0
            nujw=1
        elif nubfj4+nu1_44+nujw==3:
            nusp4=1
            nujw=1

        if nubfj5+nu1_55+nujw==1:
            nusp5=1
            nujw=0
        elif nubfj5+nu1_55+nujw==0:
            nusp5=0
            nujw=0
        elif nubfj5+nu1_55+nujw==2:
            nusp5=0
            nujw=1
        elif nubfj5+nu1_55+nujw==3:
            nusp5=1
            nujw=1

        if nubfj6+nu1_66+nujw==1:
            nusp6=1
            nujw=0
        elif nubfj6+nu1_66+nujw==0:
            nusp6=0
            nujw=0
        elif nubfj6+nu1_66+nujw==2:
            nusp6=0
            nujw=1
        elif nubfj6+nu1_66+nujw==3:
            nusp6=1
            nujw=1

        if nubfj7+nu1_77+nujw==1:
            nusp7=1
            nujw=0
        elif nubfj7+nu1_77+nujw==0:
            nusp7=0
            nujw=0
        elif nubfj7+nu1_77+nujw==2:
            nusp7=0
            nujw=1
        elif nubfj7+nu1_77+nujw==3:
            nusp7=1
            nujw=1

        if nubfj8+nu1_88+nujw==1:
            nusp8=1
            nujw=0
        elif nubfj8+nu1_88+nujw==0:
            nusp8=0
            nujw=0
        elif nubfj8+nu1_88+nujw==2:
            nusp8=0
            nujw=1
        elif nubfj8+nu1_88+nujw==3:
            nusp8=1
            nujw=1

        if nubfj9+nu1_99+nujw==1:
            nusp9=1
            nujw=0
        elif nubfj9+nu1_99+nujw==0:
            nusp9=0
            nujw=0
        elif nubfj9+nu1_99+nujw==2:
            nusp9=0
            nujw=1
        elif nubfj9+nu1_99+nujw==3:
            nusp9=1
            nujw=1

        if nubfj10+nu1_1010+nujw==1:
            nusp10=1
            nujw=0
        elif nubfj10+nu1_1010+nujw==0:
            nusp10=0
            nujw=0
        elif nubfj10+nu1_1010+nujw==2:
            nusp10=0
            nujw=1
        elif nubfj10+nu1_1010+nujw==3:
            nusp10=1
            nujw=1

        if nubfj11+nu1_1111+nujw==1:
            nusp11=1
            nujw=0
        elif nubfj11+nu1_1111+nujw==0:
            nusp11=0
            nujw=0
        elif nubfj11+nu1_1111+nujw==2:
            nusp11=0
            nujw=1
        elif nubfj11+nu1_1111+nujw==3:
            nusp11=1
            nujw=1

        if nubfj12+nu1_1212+nujw==1:
            nusp12=1
            nujw=0
        elif nubfj12+nu1_1212+nujw==0:
            nusp12=0
            nujw=0
        elif nubfj12+nu1_1212+nujw==2:
            nusp12=0
            nujw=1
        elif nubfj12+nu1_1212+nujw==3:
            nusp12=1
            nujw=1

        if nubfj13+nu1_1313+nujw==1:
            nusp13=1
            nujw=0
        elif nubfj13+nu1_1313+nujw==0:
            nusp13=0
            nujw=0
        elif nubfj13+nu1_1313+nujw==2:
            nusp13=0
            nujw=1
        elif nubfj13+nu1_1313+nujw==3:
            nusp13=1
            nujw=1

        if nubfj14+nu1_1414+nujw==1:
            nusp14=1
            nujw=0
        elif nubfj14+nu1_1414+nujw==0:
            nusp14=0
            nujw=0
        elif nubfj14+nu1_1414+nujw==2:
            nusp14=0
            nujw=1
        elif nubfj14+nu1_1414+nujw==3:
            nusp14=1
            nujw=1

        if nubfj15+nu1_1515+nujw==1:
            nusp15=1
            nujw=0
        elif nubfj15+nu1_1515+nujw==0:
            nusp15=0
            nujw=0
        elif nubfj15+nu1_1515+nujw==2:
            nusp15=0
            nujw=1
        elif nubfj15+nu1_1515+nujw==3:
            nusp15=1
            nujw=1

        if nubfj16+nu1_1616+nujw==1:
            nusp16=1
            nujw=0
        elif nubfj16+nu1_1616+nujw==0:
            nusp16=0
            nujw=0
        elif nubfj16+nu1_1616+nujw==2:
            nusp16=0
            nujw=1
        elif nubfj16+nu1_1616+nujw==3:
            nusp16=1
            nujw=1

        txbfj12.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nusp16,nusp15,nusp14,nusp13,nusp12,nusp11,nusp10,nusp9,nusp8,nusp7,nusp6,nusp5,nusp4,nusp3,nusp2,nusp1))


        nu2_1_1=nu2_22
        nu2_22=nu2_33
        nu2_33=nu2_44
        nu2_44=nu2_55
        nu2_55=nu2_66
        nu2_66=nu2_77
        nu2_77=nu2_88
        nu2_88=nu2_99
        nu2_99=nu2_1010
        nu2_1010=nu2_1111
        nu2_1111=nu2_1212
        nu2_1212=nu2_1313
        nu2_1313=nu2_1414
        nu2_1414=nu2_1515
        nu2_1515=nu2_1616
        nu2_1616=nusp1
        #上面实现了乘数逻辑右移,且在空出的最高位填上部分积逻辑右移出来的最低位nusp1,得到新的乘数
        txcc12.insert('insert','{0}{1}{2}{3} {4}{5}{6}{7} {8}{9}\n{10}{11}{12}{13} {14}{15}{16}{17}  {18}{19}{20}{21} {22}{23}{24}{25}'.format(nu2_11,nu2_10,nu2_9,nu2_8,nu2_7,nu2_6,nu2_5,nu2_4,nu2_3,nu2_2,nu2_1616,nu2_1515,nu2_1414,nu2_1313,nu2_1212,nu2_1111,nu2_1010,nu2_99,nu2_88,nu2_77,nu2_66,nu2_55,nu2_44,nu2_33,nu2_22,nu2_1_1))
        #上面实现了将新的乘数显示在下一个乘数文本框中


        if nu2_1_1==0:
            nu1_1_1=0
            nu1_22=0
            nu1_33=0
            nu1_44=0
            nu1_55=0
            nu1_66=0
            nu1_77=0
            nu1_88=0
            nu1_99=0
            nu1_1010=0
            nu1_1111=0
            nu1_1212=0
            nu1_1313=0
            nu1_1414=0
            nu1_1515=0
            nu1_1616=0
        elif nu2_1_1==1:
            nu1_1_1=nu1_1
            nu1_22=nu1_2
            nu1_33=nu1_3
            nu1_44=nu1_4
            nu1_55=nu1_5
            nu1_66=nu1_6
            nu1_77=nu1_7
            nu1_99=nu1_9
            nu1_88=nu1_8
            nu1_1010=nu1_10
            nu1_1111=nu1_11
            nu1_1212=nu1_12
            nu1_1313=nu1_13
            nu1_1414=nu1_14
            nu1_1515=nu1_15
            nu1_1616=0
        
        nubfj1=nusp2
        nubfj2=nusp3
        nubfj3=nusp4
        nubfj4=nusp5
        nubfj5=nusp6
        nubfj6=nusp7
        nubfj7=nusp8
        nubfj8=nusp9
        nubfj9=nusp10
        nubfj10=nusp11
        nubfj11=nusp12
        nubfj12=nusp13
        nubfj13=nusp14
        nubfj14=nusp15
        nubfj15=nusp16
        nubfj16=0
        #上面实现了部分积的逻辑右移
        txbfj12.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nubfj16,nubfj15,nubfj14,nubfj13,nubfj12,nubfj11,nubfj10,nubfj9,nubfj8,nubfj7,nubfj6,nubfj5,nubfj4,nubfj3,nubfj2,nubfj1))
        #上面实现了将逻辑右移后的部分积显示在未右移部分积的下面,两者在同一个文本框中
        if nu2_1_1==1:
            txbfj12.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,nu1_1515,nu1_1414,nu1_1313,nu1_1212,nu1_1111,nu1_1010,nu1_99,nu1_88,nu1_77,nu1_66,nu1_55,nu1_44,nu1_33,nu1_22,nu1_1_1))
            txsm12.insert('insert','\n→1位得Z11,乘数同时→1位\n乘数为1,加上x*')
        elif nu2_1_1==0:
            txbfj12.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0))
            txsm12.insert('insert','\n→1位得Z11,乘数同时→1位\n乘数为0,加上0')


        if nubfj1+nu1_1_1+nujw==1:
            nusp1=1
            nujw=0
        elif nubfj1+nu1_1_1+nujw==0:
            nusp1=0
            nujw=0
        elif nubfj1+nu1_1_1+nujw==2:
            nusp1=0
            nujw=1
        elif nubfj1+nu1_1_1+nujw==3:
            nusp1=1
            nujw=1

        if nubfj2+nu1_22+nujw==1:
            nusp2=1
            nujw=0
        elif nubfj2+nu1_22+nujw==0:
            nusp2=0
            nujw=0
        elif nubfj2+nu1_22+nujw==2:
            nusp2=0
            nujw=1
        elif nubfj2+nu1_22+nujw==3:
            nusp2=1
            nujw=1

        if nubfj3+nu1_33+nujw==1:
            nusp3=1
            nujw=0
        elif nubfj3+nu1_33+nujw==0:
            nusp3=0
            nujw=0
        elif nubfj3+nu1_33+nujw==2:
            nusp3=0
            nujw=1
        elif nubfj3+nu1_33+nujw==3:
            nusp3=1
            nujw=1

        if nubfj4+nu1_44+nujw==1:
            nusp4=1
            nujw=0
        elif nubfj4+nu1_44+nujw==0:
            nusp4=0
            nujw=0
        elif nubfj4+nu1_44+nujw==2:
            nusp4=0
            nujw=1
        elif nubfj4+nu1_44+nujw==3:
            nusp4=1
            nujw=1

        if nubfj5+nu1_55+nujw==1:
            nusp5=1
            nujw=0
        elif nubfj5+nu1_55+nujw==0:
            nusp5=0
            nujw=0
        elif nubfj5+nu1_55+nujw==2:
            nusp5=0
            nujw=1
        elif nubfj5+nu1_55+nujw==3:
            nusp5=1
            nujw=1

        if nubfj6+nu1_66+nujw==1:
            nusp6=1
            nujw=0
        elif nubfj6+nu1_66+nujw==0:
            nusp6=0
            nujw=0
        elif nubfj6+nu1_66+nujw==2:
            nusp6=0
            nujw=1
        elif nubfj6+nu1_66+nujw==3:
            nusp6=1
            nujw=1

        if nubfj7+nu1_77+nujw==1:
            nusp7=1
            nujw=0
        elif nubfj7+nu1_77+nujw==0:
            nusp7=0
            nujw=0
        elif nubfj7+nu1_77+nujw==2:
            nusp7=0
            nujw=1
        elif nubfj7+nu1_77+nujw==3:
            nusp7=1
            nujw=1

        if nubfj8+nu1_88+nujw==1:
            nusp8=1
            nujw=0
        elif nubfj8+nu1_88+nujw==0:
            nusp8=0
            nujw=0
        elif nubfj8+nu1_88+nujw==2:
            nusp8=0
            nujw=1
        elif nubfj8+nu1_88+nujw==3:
            nusp8=1
            nujw=1

        if nubfj9+nu1_99+nujw==1:
            nusp9=1
            nujw=0
        elif nubfj9+nu1_99+nujw==0:
            nusp9=0
            nujw=0
        elif nubfj9+nu1_99+nujw==2:
            nusp9=0
            nujw=1
        elif nubfj9+nu1_99+nujw==3:
            nusp9=1
            nujw=1

        if nubfj10+nu1_1010+nujw==1:
            nusp10=1
            nujw=0
        elif nubfj10+nu1_1010+nujw==0:
            nusp10=0
            nujw=0
        elif nubfj10+nu1_1010+nujw==2:
            nusp10=0
            nujw=1
        elif nubfj10+nu1_1010+nujw==3:
            nusp10=1
            nujw=1

        if nubfj11+nu1_1111+nujw==1:
            nusp11=1
            nujw=0
        elif nubfj11+nu1_1111+nujw==0:
            nusp11=0
            nujw=0
        elif nubfj11+nu1_1111+nujw==2:
            nusp11=0
            nujw=1
        elif nubfj11+nu1_1111+nujw==3:
            nusp11=1
            nujw=1

        if nubfj12+nu1_1212+nujw==1:
            nusp12=1
            nujw=0
        elif nubfj12+nu1_1212+nujw==0:
            nusp12=0
            nujw=0
        elif nubfj12+nu1_1212+nujw==2:
            nusp12=0
            nujw=1
        elif nubfj12+nu1_1212+nujw==3:
            nusp12=1
            nujw=1

        if nubfj13+nu1_1313+nujw==1:
            nusp13=1
            nujw=0
        elif nubfj13+nu1_1313+nujw==0:
            nusp13=0
            nujw=0
        elif nubfj13+nu1_1313+nujw==2:
            nusp13=0
            nujw=1
        elif nubfj13+nu1_1313+nujw==3:
            nusp13=1
            nujw=1

        if nubfj14+nu1_1414+nujw==1:
            nusp14=1
            nujw=0
        elif nubfj14+nu1_1414+nujw==0:
            nusp14=0
            nujw=0
        elif nubfj14+nu1_1414+nujw==2:
            nusp14=0
            nujw=1
        elif nubfj14+nu1_1414+nujw==3:
            nusp14=1
            nujw=1

        if nubfj15+nu1_1515+nujw==1:
            nusp15=1
            nujw=0
        elif nubfj15+nu1_1515+nujw==0:
            nusp15=0
            nujw=0
        elif nubfj15+nu1_1515+nujw==2:
            nusp15=0
            nujw=1
        elif nubfj15+nu1_1515+nujw==3:
            nusp15=1
            nujw=1

        if nubfj16+nu1_1616+nujw==1:
            nusp16=1
            nujw=0
        elif nubfj16+nu1_1616+nujw==0:
            nusp16=0
            nujw=0
        elif nubfj16+nu1_1616+nujw==2:
            nusp16=0
            nujw=1
        elif nubfj16+nu1_1616+nujw==3:
            nusp16=1
            nujw=1

        txbfj13.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nusp16,nusp15,nusp14,nusp13,nusp12,nusp11,nusp10,nusp9,nusp8,nusp7,nusp6,nusp5,nusp4,nusp3,nusp2,nusp1))


        nu2_1_1=nu2_22
        nu2_22=nu2_33
        nu2_33=nu2_44
        nu2_44=nu2_55
        nu2_55=nu2_66
        nu2_66=nu2_77
        nu2_77=nu2_88
        nu2_88=nu2_99
        nu2_99=nu2_1010
        nu2_1010=nu2_1111
        nu2_1111=nu2_1212
        nu2_1212=nu2_1313
        nu2_1313=nu2_1414
        nu2_1414=nu2_1515
        nu2_1515=nu2_1616
        nu2_1616=nusp1
        #上面实现了乘数逻辑右移,且在空出的最高位填上部分积逻辑右移出来的最低位nusp1,得到新的乘数
        txcc13.insert('insert','{0}{1}{2}{3} {4}{5}{6}{7} {8}{9}{10}\n{11}{12}{13}{14} {15}{16}{17}{18}  {19}{20}{21}{22} {23}{24}{25}{26}'.format(nu2_12,nu2_11,nu2_10,nu2_9,nu2_8,nu2_7,nu2_6,nu2_5,nu2_4,nu2_3,nu2_2,nu2_1616,nu2_1515,nu2_1414,nu2_1313,nu2_1212,nu2_1111,nu2_1010,nu2_99,nu2_88,nu2_77,nu2_66,nu2_55,nu2_44,nu2_33,nu2_22,nu2_1_1))
        #上面实现了将新的乘数显示在下一个乘数文本框中


        if nu2_1_1==0:
            nu1_1_1=0
            nu1_22=0
            nu1_33=0
            nu1_44=0
            nu1_55=0
            nu1_66=0
            nu1_77=0
            nu1_88=0
            nu1_99=0
            nu1_1010=0
            nu1_1111=0
            nu1_1212=0
            nu1_1313=0
            nu1_1414=0
            nu1_1515=0
            nu1_1616=0
        elif nu2_1_1==1:
            nu1_1_1=nu1_1
            nu1_22=nu1_2
            nu1_33=nu1_3
            nu1_44=nu1_4
            nu1_55=nu1_5
            nu1_66=nu1_6
            nu1_77=nu1_7
            nu1_99=nu1_9
            nu1_88=nu1_8
            nu1_1010=nu1_10
            nu1_1111=nu1_11
            nu1_1212=nu1_12
            nu1_1313=nu1_13
            nu1_1414=nu1_14
            nu1_1515=nu1_15
            nu1_1616=0
        
        nubfj1=nusp2
        nubfj2=nusp3
        nubfj3=nusp4
        nubfj4=nusp5
        nubfj5=nusp6
        nubfj6=nusp7
        nubfj7=nusp8
        nubfj8=nusp9
        nubfj9=nusp10
        nubfj10=nusp11
        nubfj11=nusp12
        nubfj12=nusp13
        nubfj13=nusp14
        nubfj14=nusp15
        nubfj15=nusp16
        nubfj16=0
        #上面实现了部分积的逻辑右移
        txbfj13.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nubfj16,nubfj15,nubfj14,nubfj13,nubfj12,nubfj11,nubfj10,nubfj9,nubfj8,nubfj7,nubfj6,nubfj5,nubfj4,nubfj3,nubfj2,nubfj1))
        #上面实现了将逻辑右移后的部分积显示在未右移部分积的下面,两者在同一个文本框中
        if nu2_1_1==1:
            txbfj13.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,nu1_1515,nu1_1414,nu1_1313,nu1_1212,nu1_1111,nu1_1010,nu1_99,nu1_88,nu1_77,nu1_66,nu1_55,nu1_44,nu1_33,nu1_22,nu1_1_1))
            txsm13.insert('insert','\n→1位得Z12,乘数同时→1位\n乘数为1,加上x*')
        elif nu2_1_1==0:
            txbfj13.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0))
            txsm13.insert('insert','\n→1位得Z12,乘数同时→1位\n乘数为0,加上0')


        if nubfj1+nu1_1_1+nujw==1:
            nusp1=1
            nujw=0
        elif nubfj1+nu1_1_1+nujw==0:
            nusp1=0
            nujw=0
        elif nubfj1+nu1_1_1+nujw==2:
            nusp1=0
            nujw=1
        elif nubfj1+nu1_1_1+nujw==3:
            nusp1=1
            nujw=1

        if nubfj2+nu1_22+nujw==1:
            nusp2=1
            nujw=0
        elif nubfj2+nu1_22+nujw==0:
            nusp2=0
            nujw=0
        elif nubfj2+nu1_22+nujw==2:
            nusp2=0
            nujw=1
        elif nubfj2+nu1_22+nujw==3:
            nusp2=1
            nujw=1

        if nubfj3+nu1_33+nujw==1:
            nusp3=1
            nujw=0
        elif nubfj3+nu1_33+nujw==0:
            nusp3=0
            nujw=0
        elif nubfj3+nu1_33+nujw==2:
            nusp3=0
            nujw=1
        elif nubfj3+nu1_33+nujw==3:
            nusp3=1
            nujw=1

        if nubfj4+nu1_44+nujw==1:
            nusp4=1
            nujw=0
        elif nubfj4+nu1_44+nujw==0:
            nusp4=0
            nujw=0
        elif nubfj4+nu1_44+nujw==2:
            nusp4=0
            nujw=1
        elif nubfj4+nu1_44+nujw==3:
            nusp4=1
            nujw=1

        if nubfj5+nu1_55+nujw==1:
            nusp5=1
            nujw=0
        elif nubfj5+nu1_55+nujw==0:
            nusp5=0
            nujw=0
        elif nubfj5+nu1_55+nujw==2:
            nusp5=0
            nujw=1
        elif nubfj5+nu1_55+nujw==3:
            nusp5=1
            nujw=1

        if nubfj6+nu1_66+nujw==1:
            nusp6=1
            nujw=0
        elif nubfj6+nu1_66+nujw==0:
            nusp6=0
            nujw=0
        elif nubfj6+nu1_66+nujw==2:
            nusp6=0
            nujw=1
        elif nubfj6+nu1_66+nujw==3:
            nusp6=1
            nujw=1

        if nubfj7+nu1_77+nujw==1:
            nusp7=1
            nujw=0
        elif nubfj7+nu1_77+nujw==0:
            nusp7=0
            nujw=0
        elif nubfj7+nu1_77+nujw==2:
            nusp7=0
            nujw=1
        elif nubfj7+nu1_77+nujw==3:
            nusp7=1
            nujw=1

        if nubfj8+nu1_88+nujw==1:
            nusp8=1
            nujw=0
        elif nubfj8+nu1_88+nujw==0:
            nusp8=0
            nujw=0
        elif nubfj8+nu1_88+nujw==2:
            nusp8=0
            nujw=1
        elif nubfj8+nu1_88+nujw==3:
            nusp8=1
            nujw=1

        if nubfj9+nu1_99+nujw==1:
            nusp9=1
            nujw=0
        elif nubfj9+nu1_99+nujw==0:
            nusp9=0
            nujw=0
        elif nubfj9+nu1_99+nujw==2:
            nusp9=0
            nujw=1
        elif nubfj9+nu1_99+nujw==3:
            nusp9=1
            nujw=1

        if nubfj10+nu1_1010+nujw==1:
            nusp10=1
            nujw=0
        elif nubfj10+nu1_1010+nujw==0:
            nusp10=0
            nujw=0
        elif nubfj10+nu1_1010+nujw==2:
            nusp10=0
            nujw=1
        elif nubfj10+nu1_1010+nujw==3:
            nusp10=1
            nujw=1

        if nubfj11+nu1_1111+nujw==1:
            nusp11=1
            nujw=0
        elif nubfj11+nu1_1111+nujw==0:
            nusp11=0
            nujw=0
        elif nubfj11+nu1_1111+nujw==2:
            nusp11=0
            nujw=1
        elif nubfj11+nu1_1111+nujw==3:
            nusp11=1
            nujw=1

        if nubfj12+nu1_1212+nujw==1:
            nusp12=1
            nujw=0
        elif nubfj12+nu1_1212+nujw==0:
            nusp12=0
            nujw=0
        elif nubfj12+nu1_1212+nujw==2:
            nusp12=0
            nujw=1
        elif nubfj12+nu1_1212+nujw==3:
            nusp12=1
            nujw=1

        if nubfj13+nu1_1313+nujw==1:
            nusp13=1
            nujw=0
        elif nubfj13+nu1_1313+nujw==0:
            nusp13=0
            nujw=0
        elif nubfj13+nu1_1313+nujw==2:
            nusp13=0
            nujw=1
        elif nubfj13+nu1_1313+nujw==3:
            nusp13=1
            nujw=1

        if nubfj14+nu1_1414+nujw==1:
            nusp14=1
            nujw=0
        elif nubfj14+nu1_1414+nujw==0:
            nusp14=0
            nujw=0
        elif nubfj14+nu1_1414+nujw==2:
            nusp14=0
            nujw=1
        elif nubfj14+nu1_1414+nujw==3:
            nusp14=1
            nujw=1

        if nubfj15+nu1_1515+nujw==1:
            nusp15=1
            nujw=0
        elif nubfj15+nu1_1515+nujw==0:
            nusp15=0
            nujw=0
        elif nubfj15+nu1_1515+nujw==2:
            nusp15=0
            nujw=1
        elif nubfj15+nu1_1515+nujw==3:
            nusp15=1
            nujw=1

        if nubfj16+nu1_1616+nujw==1:
            nusp16=1
            nujw=0
        elif nubfj16+nu1_1616+nujw==0:
            nusp16=0
            nujw=0
        elif nubfj16+nu1_1616+nujw==2:
            nusp16=0
            nujw=1
        elif nubfj16+nu1_1616+nujw==3:
            nusp16=1
            nujw=1

        txbfj14.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nusp16,nusp15,nusp14,nusp13,nusp12,nusp11,nusp10,nusp9,nusp8,nusp7,nusp6,nusp5,nusp4,nusp3,nusp2,nusp1))


        nu2_1_1=nu2_22
        nu2_22=nu2_33
        nu2_33=nu2_44
        nu2_44=nu2_55
        nu2_55=nu2_66
        nu2_66=nu2_77
        nu2_77=nu2_88
        nu2_88=nu2_99
        nu2_99=nu2_1010
        nu2_1010=nu2_1111
        nu2_1111=nu2_1212
        nu2_1212=nu2_1313
        nu2_1313=nu2_1414
        nu2_1414=nu2_1515
        nu2_1515=nu2_1616
        nu2_1616=nusp1
        #上面实现了乘数逻辑右移,且在空出的最高位填上部分积逻辑右移出来的最低位nusp1,得到新的乘数
        txcc14.insert('insert','{0}{1}{2}{3} {4}{5}{6}{7} {8}{9}{10}{11}\n{12}{13}{14}{15} {16}{17}{18}{19}  {20}{21}{22}{23} {24}{25}{26}{27}'.format(nu2_13,nu2_12,nu2_11,nu2_10,nu2_9,nu2_8,nu2_7,nu2_6,nu2_5,nu2_4,nu2_3,nu2_2,nu2_1616,nu2_1515,nu2_1414,nu2_1313,nu2_1212,nu2_1111,nu2_1010,nu2_99,nu2_88,nu2_77,nu2_66,nu2_55,nu2_44,nu2_33,nu2_22,nu2_1_1))
        #上面实现了将新的乘数显示在下一个乘数文本框中


        if nu2_1_1==0:
            nu1_1_1=0
            nu1_22=0
            nu1_33=0
            nu1_44=0
            nu1_55=0
            nu1_66=0
            nu1_77=0
            nu1_88=0
            nu1_99=0
            nu1_1010=0
            nu1_1111=0
            nu1_1212=0
            nu1_1313=0
            nu1_1414=0
            nu1_1515=0
            nu1_1616=0
        elif nu2_1_1==1:
            nu1_1_1=nu1_1
            nu1_22=nu1_2
            nu1_33=nu1_3
            nu1_44=nu1_4
            nu1_55=nu1_5
            nu1_66=nu1_6
            nu1_77=nu1_7
            nu1_99=nu1_9
            nu1_88=nu1_8
            nu1_1010=nu1_10
            nu1_1111=nu1_11
            nu1_1212=nu1_12
            nu1_1313=nu1_13
            nu1_1414=nu1_14
            nu1_1515=nu1_15
            nu1_1616=0
        
        nubfj1=nusp2
        nubfj2=nusp3
        nubfj3=nusp4
        nubfj4=nusp5
        nubfj5=nusp6
        nubfj6=nusp7
        nubfj7=nusp8
        nubfj8=nusp9
        nubfj9=nusp10
        nubfj10=nusp11
        nubfj11=nusp12
        nubfj12=nusp13
        nubfj13=nusp14
        nubfj14=nusp15
        nubfj15=nusp16
        nubfj16=0
        #上面实现了部分积的逻辑右移
        txbfj14.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nubfj16,nubfj15,nubfj14,nubfj13,nubfj12,nubfj11,nubfj10,nubfj9,nubfj8,nubfj7,nubfj6,nubfj5,nubfj4,nubfj3,nubfj2,nubfj1))
        #上面实现了将逻辑右移后的部分积显示在未右移部分积的下面,两者在同一个文本框中
        if nu2_1_1==1:
            txbfj14.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,nu1_1515,nu1_1414,nu1_1313,nu1_1212,nu1_1111,nu1_1010,nu1_99,nu1_88,nu1_77,nu1_66,nu1_55,nu1_44,nu1_33,nu1_22,nu1_1_1))
            txsm14.insert('insert','\n→1位得Z13,乘数同时→1位\n乘数为1,加上x*')
        elif nu2_1_1==0:
            txbfj14.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0))
            txsm14.insert('insert','\n→1位得Z13,乘数同时→1位\n乘数为0,加上0')


        if nubfj1+nu1_1_1+nujw==1:
            nusp1=1
            nujw=0
        elif nubfj1+nu1_1_1+nujw==0:
            nusp1=0
            nujw=0
        elif nubfj1+nu1_1_1+nujw==2:
            nusp1=0
            nujw=1
        elif nubfj1+nu1_1_1+nujw==3:
            nusp1=1
            nujw=1

        if nubfj2+nu1_22+nujw==1:
            nusp2=1
            nujw=0
        elif nubfj2+nu1_22+nujw==0:
            nusp2=0
            nujw=0
        elif nubfj2+nu1_22+nujw==2:
            nusp2=0
            nujw=1
        elif nubfj2+nu1_22+nujw==3:
            nusp2=1
            nujw=1

        if nubfj3+nu1_33+nujw==1:
            nusp3=1
            nujw=0
        elif nubfj3+nu1_33+nujw==0:
            nusp3=0
            nujw=0
        elif nubfj3+nu1_33+nujw==2:
            nusp3=0
            nujw=1
        elif nubfj3+nu1_33+nujw==3:
            nusp3=1
            nujw=1

        if nubfj4+nu1_44+nujw==1:
            nusp4=1
            nujw=0
        elif nubfj4+nu1_44+nujw==0:
            nusp4=0
            nujw=0
        elif nubfj4+nu1_44+nujw==2:
            nusp4=0
            nujw=1
        elif nubfj4+nu1_44+nujw==3:
            nusp4=1
            nujw=1

        if nubfj5+nu1_55+nujw==1:
            nusp5=1
            nujw=0
        elif nubfj5+nu1_55+nujw==0:
            nusp5=0
            nujw=0
        elif nubfj5+nu1_55+nujw==2:
            nusp5=0
            nujw=1
        elif nubfj5+nu1_55+nujw==3:
            nusp5=1
            nujw=1

        if nubfj6+nu1_66+nujw==1:
            nusp6=1
            nujw=0
        elif nubfj6+nu1_66+nujw==0:
            nusp6=0
            nujw=0
        elif nubfj6+nu1_66+nujw==2:
            nusp6=0
            nujw=1
        elif nubfj6+nu1_66+nujw==3:
            nusp6=1
            nujw=1

        if nubfj7+nu1_77+nujw==1:
            nusp7=1
            nujw=0
        elif nubfj7+nu1_77+nujw==0:
            nusp7=0
            nujw=0
        elif nubfj7+nu1_77+nujw==2:
            nusp7=0
            nujw=1
        elif nubfj7+nu1_77+nujw==3:
            nusp7=1
            nujw=1

        if nubfj8+nu1_88+nujw==1:
            nusp8=1
            nujw=0
        elif nubfj8+nu1_88+nujw==0:
            nusp8=0
            nujw=0
        elif nubfj8+nu1_88+nujw==2:
            nusp8=0
            nujw=1
        elif nubfj8+nu1_88+nujw==3:
            nusp8=1
            nujw=1

        if nubfj9+nu1_99+nujw==1:
            nusp9=1
            nujw=0
        elif nubfj9+nu1_99+nujw==0:
            nusp9=0
            nujw=0
        elif nubfj9+nu1_99+nujw==2:
            nusp9=0
            nujw=1
        elif nubfj9+nu1_99+nujw==3:
            nusp9=1
            nujw=1

        if nubfj10+nu1_1010+nujw==1:
            nusp10=1
            nujw=0
        elif nubfj10+nu1_1010+nujw==0:
            nusp10=0
            nujw=0
        elif nubfj10+nu1_1010+nujw==2:
            nusp10=0
            nujw=1
        elif nubfj10+nu1_1010+nujw==3:
            nusp10=1
            nujw=1

        if nubfj11+nu1_1111+nujw==1:
            nusp11=1
            nujw=0
        elif nubfj11+nu1_1111+nujw==0:
            nusp11=0
            nujw=0
        elif nubfj11+nu1_1111+nujw==2:
            nusp11=0
            nujw=1
        elif nubfj11+nu1_1111+nujw==3:
            nusp11=1
            nujw=1

        if nubfj12+nu1_1212+nujw==1:
            nusp12=1
            nujw=0
        elif nubfj12+nu1_1212+nujw==0:
            nusp12=0
            nujw=0
        elif nubfj12+nu1_1212+nujw==2:
            nusp12=0
            nujw=1
        elif nubfj12+nu1_1212+nujw==3:
            nusp12=1
            nujw=1

        if nubfj13+nu1_1313+nujw==1:
            nusp13=1
            nujw=0
        elif nubfj13+nu1_1313+nujw==0:
            nusp13=0
            nujw=0
        elif nubfj13+nu1_1313+nujw==2:
            nusp13=0
            nujw=1
        elif nubfj13+nu1_1313+nujw==3:
            nusp13=1
            nujw=1

        if nubfj14+nu1_1414+nujw==1:
            nusp14=1
            nujw=0
        elif nubfj14+nu1_1414+nujw==0:
            nusp14=0
            nujw=0
        elif nubfj14+nu1_1414+nujw==2:
            nusp14=0
            nujw=1
        elif nubfj14+nu1_1414+nujw==3:
            nusp14=1
            nujw=1

        if nubfj15+nu1_1515+nujw==1:
            nusp15=1
            nujw=0
        elif nubfj15+nu1_1515+nujw==0:
            nusp15=0
            nujw=0
        elif nubfj15+nu1_1515+nujw==2:
            nusp15=0
            nujw=1
        elif nubfj15+nu1_1515+nujw==3:
            nusp15=1
            nujw=1

        if nubfj16+nu1_1616+nujw==1:
            nusp16=1
            nujw=0
        elif nubfj16+nu1_1616+nujw==0:
            nusp16=0
            nujw=0
        elif nubfj16+nu1_1616+nujw==2:
            nusp16=0
            nujw=1
        elif nubfj16+nu1_1616+nujw==3:
            nusp16=1
            nujw=1

        txbfj15.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nusp16,nusp15,nusp14,nusp13,nusp12,nusp11,nusp10,nusp9,nusp8,nusp7,nusp6,nusp5,nusp4,nusp3,nusp2,nusp1))


        nu2_1_1=nu2_22
        nu2_22=nu2_33
        nu2_33=nu2_44
        nu2_44=nu2_55
        nu2_55=nu2_66
        nu2_66=nu2_77
        nu2_77=nu2_88
        nu2_88=nu2_99
        nu2_99=nu2_1010
        nu2_1010=nu2_1111
        nu2_1111=nu2_1212
        nu2_1212=nu2_1313
        nu2_1313=nu2_1414
        nu2_1414=nu2_1515
        nu2_1515=nu2_1616
        nu2_1616=nusp1
        #上面实现了乘数逻辑右移,且在空出的最高位填上部分积逻辑右移出来的最低位nusp1,得到新的乘数
        txcc15.insert('insert','{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}\n{13}{14}{15}{16} {17}{18}{19}{20}  {21}{22}{23}{24} {25}{26}{27}{28}'.format(nu2_14,nu2_13,nu2_12,nu2_11,nu2_10,nu2_9,nu2_8,nu2_7,nu2_6,nu2_5,nu2_4,nu2_3,nu2_2,nu2_1616,nu2_1515,nu2_1414,nu2_1313,nu2_1212,nu2_1111,nu2_1010,nu2_99,nu2_88,nu2_77,nu2_66,nu2_55,nu2_44,nu2_33,nu2_22,nu2_1_1))
        #上面实现了将新的乘数显示在下一个乘数文本框中


        if nu2_1_1==0:
            nu1_1_1=0
            nu1_22=0
            nu1_33=0
            nu1_44=0
            nu1_55=0
            nu1_66=0
            nu1_77=0
            nu1_88=0
            nu1_99=0
            nu1_1010=0
            nu1_1111=0
            nu1_1212=0
            nu1_1313=0
            nu1_1414=0
            nu1_1515=0
            nu1_1616=0
        elif nu2_1_1==1:
            nu1_1_1=nu1_1
            nu1_22=nu1_2
            nu1_33=nu1_3
            nu1_44=nu1_4
            nu1_55=nu1_5
            nu1_66=nu1_6
            nu1_77=nu1_7
            nu1_99=nu1_9
            nu1_88=nu1_8
            nu1_1010=nu1_10
            nu1_1111=nu1_11
            nu1_1212=nu1_12
            nu1_1313=nu1_13
            nu1_1414=nu1_14
            nu1_1515=nu1_15
            nu1_1616=0
        
        nubfj1=nusp2
        nubfj2=nusp3
        nubfj3=nusp4
        nubfj4=nusp5
        nubfj5=nusp6
        nubfj6=nusp7
        nubfj7=nusp8
        nubfj8=nusp9
        nubfj9=nusp10
        nubfj10=nusp11
        nubfj11=nusp12
        nubfj12=nusp13
        nubfj13=nusp14
        nubfj14=nusp15
        nubfj15=nusp16
        nubfj16=0
        #上面实现了部分积的逻辑右移
        txbfj15.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nubfj16,nubfj15,nubfj14,nubfj13,nubfj12,nubfj11,nubfj10,nubfj9,nubfj8,nubfj7,nubfj6,nubfj5,nubfj4,nubfj3,nubfj2,nubfj1))
        #上面实现了将逻辑右移后的部分积显示在未右移部分积的下面,两者在同一个文本框中
        if nu2_1_1==1:
            txbfj15.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,nu1_1515,nu1_1414,nu1_1313,nu1_1212,nu1_1111,nu1_1010,nu1_99,nu1_88,nu1_77,nu1_66,nu1_55,nu1_44,nu1_33,nu1_22,nu1_1_1))
            txsm15.insert('insert','\n→1位得Z14,乘数同时→1位\n乘数为1,加上x*')
        elif nu2_1_1==0:
            txbfj15.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0))
            txsm15.insert('insert','\n→1位得Z14,乘数同时→1位\n乘数为0,加上0')



        if nubfj1+nu1_1_1+nujw==1:
            nusp1=1
            nujw=0
        elif nubfj1+nu1_1_1+nujw==0:
            nusp1=0
            nujw=0
        elif nubfj1+nu1_1_1+nujw==2:
            nusp1=0
            nujw=1
        elif nubfj1+nu1_1_1+nujw==3:
            nusp1=1
            nujw=1

        if nubfj2+nu1_22+nujw==1:
            nusp2=1
            nujw=0
        elif nubfj2+nu1_22+nujw==0:
            nusp2=0
            nujw=0
        elif nubfj2+nu1_22+nujw==2:
            nusp2=0
            nujw=1
        elif nubfj2+nu1_22+nujw==3:
            nusp2=1
            nujw=1

        if nubfj3+nu1_33+nujw==1:
            nusp3=1
            nujw=0
        elif nubfj3+nu1_33+nujw==0:
            nusp3=0
            nujw=0
        elif nubfj3+nu1_33+nujw==2:
            nusp3=0
            nujw=1
        elif nubfj3+nu1_33+nujw==3:
            nusp3=1
            nujw=1

        if nubfj4+nu1_44+nujw==1:
            nusp4=1
            nujw=0
        elif nubfj4+nu1_44+nujw==0:
            nusp4=0
            nujw=0
        elif nubfj4+nu1_44+nujw==2:
            nusp4=0
            nujw=1
        elif nubfj4+nu1_44+nujw==3:
            nusp4=1
            nujw=1

        if nubfj5+nu1_55+nujw==1:
            nusp5=1
            nujw=0
        elif nubfj5+nu1_55+nujw==0:
            nusp5=0
            nujw=0
        elif nubfj5+nu1_55+nujw==2:
            nusp5=0
            nujw=1
        elif nubfj5+nu1_55+nujw==3:
            nusp5=1
            nujw=1

        if nubfj6+nu1_66+nujw==1:
            nusp6=1
            nujw=0
        elif nubfj6+nu1_66+nujw==0:
            nusp6=0
            nujw=0
        elif nubfj6+nu1_66+nujw==2:
            nusp6=0
            nujw=1
        elif nubfj6+nu1_66+nujw==3:
            nusp6=1
            nujw=1

        if nubfj7+nu1_77+nujw==1:
            nusp7=1
            nujw=0
        elif nubfj7+nu1_77+nujw==0:
            nusp7=0
            nujw=0
        elif nubfj7+nu1_77+nujw==2:
            nusp7=0
            nujw=1
        elif nubfj7+nu1_77+nujw==3:
            nusp7=1
            nujw=1

        if nubfj8+nu1_88+nujw==1:
            nusp8=1
            nujw=0
        elif nubfj8+nu1_88+nujw==0:
            nusp8=0
            nujw=0
        elif nubfj8+nu1_88+nujw==2:
            nusp8=0
            nujw=1
        elif nubfj8+nu1_88+nujw==3:
            nusp8=1
            nujw=1

        if nubfj9+nu1_99+nujw==1:
            nusp9=1
            nujw=0
        elif nubfj9+nu1_99+nujw==0:
            nusp9=0
            nujw=0
        elif nubfj9+nu1_99+nujw==2:
            nusp9=0
            nujw=1
        elif nubfj9+nu1_99+nujw==3:
            nusp9=1
            nujw=1

        if nubfj10+nu1_1010+nujw==1:
            nusp10=1
            nujw=0
        elif nubfj10+nu1_1010+nujw==0:
            nusp10=0
            nujw=0
        elif nubfj10+nu1_1010+nujw==2:
            nusp10=0
            nujw=1
        elif nubfj10+nu1_1010+nujw==3:
            nusp10=1
            nujw=1

        if nubfj11+nu1_1111+nujw==1:
            nusp11=1
            nujw=0
        elif nubfj11+nu1_1111+nujw==0:
            nusp11=0
            nujw=0
        elif nubfj11+nu1_1111+nujw==2:
            nusp11=0
            nujw=1
        elif nubfj11+nu1_1111+nujw==3:
            nusp11=1
            nujw=1

        if nubfj12+nu1_1212+nujw==1:
            nusp12=1
            nujw=0
        elif nubfj12+nu1_1212+nujw==0:
            nusp12=0
            nujw=0
        elif nubfj12+nu1_1212+nujw==2:
            nusp12=0
            nujw=1
        elif nubfj12+nu1_1212+nujw==3:
            nusp12=1
            nujw=1

        if nubfj13+nu1_1313+nujw==1:
            nusp13=1
            nujw=0
        elif nubfj13+nu1_1313+nujw==0:
            nusp13=0
            nujw=0
        elif nubfj13+nu1_1313+nujw==2:
            nusp13=0
            nujw=1
        elif nubfj13+nu1_1313+nujw==3:
            nusp13=1
            nujw=1

        if nubfj14+nu1_1414+nujw==1:
            nusp14=1
            nujw=0
        elif nubfj14+nu1_1414+nujw==0:
            nusp14=0
            nujw=0
        elif nubfj14+nu1_1414+nujw==2:
            nusp14=0
            nujw=1
        elif nubfj14+nu1_1414+nujw==3:
            nusp14=1
            nujw=1

        if nubfj15+nu1_1515+nujw==1:
            nusp15=1
            nujw=0
        elif nubfj15+nu1_1515+nujw==0:
            nusp15=0
            nujw=0
        elif nubfj15+nu1_1515+nujw==2:
            nusp15=0
            nujw=1
        elif nubfj15+nu1_1515+nujw==3:
            nusp15=1
            nujw=1

        if nubfj16+nu1_1616+nujw==1:
            nusp16=1
            nujw=0
        elif nubfj16+nu1_1616+nujw==0:
            nusp16=0
            nujw=0
        elif nubfj16+nu1_1616+nujw==2:
            nusp16=0
            nujw=1
        elif nubfj16+nu1_1616+nujw==3:
            nusp16=1
            nujw=1

        txbfj16.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nusp16,nusp15,nusp14,nusp13,nusp12,nusp11,nusp10,nusp9,nusp8,nusp7,nusp6,nusp5,nusp4,nusp3,nusp2,nusp1))


        nu2_1_1=nu2_22
        nu2_22=nu2_33
        nu2_33=nu2_44
        nu2_44=nu2_55
        nu2_55=nu2_66
        nu2_66=nu2_77
        nu2_77=nu2_88
        nu2_88=nu2_99
        nu2_99=nu2_1010
        nu2_1010=nu2_1111
        nu2_1111=nu2_1212
        nu2_1212=nu2_1313
        nu2_1313=nu2_1414
        nu2_1414=nu2_1515
        nu2_1515=nu2_1616
        nu2_1616=nusp1
        #上面实现了乘数逻辑右移,且在空出的最高位填上部分积逻辑右移出来的最低位nusp1,得到新的乘数
        txcc16.insert('insert','{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}\n{14}{15}{16}{17} {18}{19}{20}{21}  {22}{23}{24}{25} {26}{27}{28}{29}'.format(nu2_15,nu2_14,nu2_13,nu2_12,nu2_11,nu2_10,nu2_9,nu2_8,nu2_7,nu2_6,nu2_5,nu2_4,nu2_3,nu2_2,nu2_1616,nu2_1515,nu2_1414,nu2_1313,nu2_1212,nu2_1111,nu2_1010,nu2_99,nu2_88,nu2_77,nu2_66,nu2_55,nu2_44,nu2_33,nu2_22,nu2_1_1))
        #上面实现了将新的乘数显示在下一个乘数文本框中


        if nu2_1_1==0:
            nu1_1_1=0
            nu1_22=0
            nu1_33=0
            nu1_44=0
            nu1_55=0
            nu1_66=0
            nu1_77=0
            nu1_88=0
            nu1_99=0
            nu1_1010=0
            nu1_1111=0
            nu1_1212=0
            nu1_1313=0
            nu1_1414=0
            nu1_1515=0
            nu1_1616=0
        elif nu2_1_1==1:
            nu1_1_1=nu1_1
            nu1_22=nu1_2
            nu1_33=nu1_3
            nu1_44=nu1_4
            nu1_55=nu1_5
            nu1_66=nu1_6
            nu1_77=nu1_7
            nu1_99=nu1_9
            nu1_88=nu1_8
            nu1_1010=nu1_10
            nu1_1111=nu1_11
            nu1_1212=nu1_12
            nu1_1313=nu1_13
            nu1_1414=nu1_14
            nu1_1515=nu1_15
            nu1_1616=0
        
        nubfj1=nusp2
        nubfj2=nusp3
        nubfj3=nusp4
        nubfj4=nusp5
        nubfj5=nusp6
        nubfj6=nusp7
        nubfj7=nusp8
        nubfj8=nusp9
        nubfj9=nusp10
        nubfj10=nusp11
        nubfj11=nusp12
        nubfj12=nusp13
        nubfj13=nusp14
        nubfj14=nusp15
        nubfj15=nusp16
        nubfj16=0
        #上面实现了部分积的逻辑右移
        txbfj16.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nubfj16,nubfj15,nubfj14,nubfj13,nubfj12,nubfj11,nubfj10,nubfj9,nubfj8,nubfj7,nubfj6,nubfj5,nubfj4,nubfj3,nubfj2,nubfj1))
        #上面实现了将逻辑右移后的部分积显示在未右移部分积的下面,两者在同一个文本框中
        if nu2_1_1==1:
            txbfj16.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,nu1_1515,nu1_1414,nu1_1313,nu1_1212,nu1_1111,nu1_1010,nu1_99,nu1_88,nu1_77,nu1_66,nu1_55,nu1_44,nu1_33,nu1_22,nu1_1_1))
            txsm16.insert('insert','\n→1位得Z15,乘数同时→1位\n乘数为1,加上x*')
        elif nu2_1_1==0:
            txbfj16.insert('insert','+{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}'.format(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0))
            txsm16.insert('insert','\n→1位得Z15,乘数同时→1位\n乘数为0,加上0')


        if nubfj1+nu1_1_1+nujw==1:
            nusp1=1
            nujw=0
        elif nubfj1+nu1_1_1+nujw==0:
            nusp1=0
            nujw=0
        elif nubfj1+nu1_1_1+nujw==2:
            nusp1=0
            nujw=1
        elif nubfj1+nu1_1_1+nujw==3:
            nusp1=1
            nujw=1

        if nubfj2+nu1_22+nujw==1:
            nusp2=1
            nujw=0
        elif nubfj2+nu1_22+nujw==0:
            nusp2=0
            nujw=0
        elif nubfj2+nu1_22+nujw==2:
            nusp2=0
            nujw=1
        elif nubfj2+nu1_22+nujw==3:
            nusp2=1
            nujw=1

        if nubfj3+nu1_33+nujw==1:
            nusp3=1
            nujw=0
        elif nubfj3+nu1_33+nujw==0:
            nusp3=0
            nujw=0
        elif nubfj3+nu1_33+nujw==2:
            nusp3=0
            nujw=1
        elif nubfj3+nu1_33+nujw==3:
            nusp3=1
            nujw=1

        if nubfj4+nu1_44+nujw==1:
            nusp4=1
            nujw=0
        elif nubfj4+nu1_44+nujw==0:
            nusp4=0
            nujw=0
        elif nubfj4+nu1_44+nujw==2:
            nusp4=0
            nujw=1
        elif nubfj4+nu1_44+nujw==3:
            nusp4=1
            nujw=1

        if nubfj5+nu1_55+nujw==1:
            nusp5=1
            nujw=0
        elif nubfj5+nu1_55+nujw==0:
            nusp5=0
            nujw=0
        elif nubfj5+nu1_55+nujw==2:
            nusp5=0
            nujw=1
        elif nubfj5+nu1_55+nujw==3:
            nusp5=1
            nujw=1

        if nubfj6+nu1_66+nujw==1:
            nusp6=1
            nujw=0
        elif nubfj6+nu1_66+nujw==0:
            nusp6=0
            nujw=0
        elif nubfj6+nu1_66+nujw==2:
            nusp6=0
            nujw=1
        elif nubfj6+nu1_66+nujw==3:
            nusp6=1
            nujw=1

        if nubfj7+nu1_77+nujw==1:
            nusp7=1
            nujw=0
        elif nubfj7+nu1_77+nujw==0:
            nusp7=0
            nujw=0
        elif nubfj7+nu1_77+nujw==2:
            nusp7=0
            nujw=1
        elif nubfj7+nu1_77+nujw==3:
            nusp7=1
            nujw=1

        if nubfj8+nu1_88+nujw==1:
            nusp8=1
            nujw=0
        elif nubfj8+nu1_88+nujw==0:
            nusp8=0
            nujw=0
        elif nubfj8+nu1_88+nujw==2:
            nusp8=0
            nujw=1
        elif nubfj8+nu1_88+nujw==3:
            nusp8=1
            nujw=1

        if nubfj9+nu1_99+nujw==1:
            nusp9=1
            nujw=0
        elif nubfj9+nu1_99+nujw==0:
            nusp9=0
            nujw=0
        elif nubfj9+nu1_99+nujw==2:
            nusp9=0
            nujw=1
        elif nubfj9+nu1_99+nujw==3:
            nusp9=1
            nujw=1

        if nubfj10+nu1_1010+nujw==1:
            nusp10=1
            nujw=0
        elif nubfj10+nu1_1010+nujw==0:
            nusp10=0
            nujw=0
        elif nubfj10+nu1_1010+nujw==2:
            nusp10=0
            nujw=1
        elif nubfj10+nu1_1010+nujw==3:
            nusp10=1
            nujw=1

        if nubfj11+nu1_1111+nujw==1:
            nusp11=1
            nujw=0
        elif nubfj11+nu1_1111+nujw==0:
            nusp11=0
            nujw=0
        elif nubfj11+nu1_1111+nujw==2:
            nusp11=0
            nujw=1
        elif nubfj11+nu1_1111+nujw==3:
            nusp11=1
            nujw=1

        if nubfj12+nu1_1212+nujw==1:
            nusp12=1
            nujw=0
        elif nubfj12+nu1_1212+nujw==0:
            nusp12=0
            nujw=0
        elif nubfj12+nu1_1212+nujw==2:
            nusp12=0
            nujw=1
        elif nubfj12+nu1_1212+nujw==3:
            nusp12=1
            nujw=1

        if nubfj13+nu1_1313+nujw==1:
            nusp13=1
            nujw=0
        elif nubfj13+nu1_1313+nujw==0:
            nusp13=0
            nujw=0
        elif nubfj13+nu1_1313+nujw==2:
            nusp13=0
            nujw=1
        elif nubfj13+nu1_1313+nujw==3:
            nusp13=1
            nujw=1

        if nubfj14+nu1_1414+nujw==1:
            nusp14=1
            nujw=0
        elif nubfj14+nu1_1414+nujw==0:
            nusp14=0
            nujw=0
        elif nubfj14+nu1_1414+nujw==2:
            nusp14=0
            nujw=1
        elif nubfj14+nu1_1414+nujw==3:
            nusp14=1
            nujw=1

        if nubfj15+nu1_1515+nujw==1:
            nusp15=1
            nujw=0
        elif nubfj15+nu1_1515+nujw==0:
            nusp15=0
            nujw=0
        elif nubfj15+nu1_1515+nujw==2:
            nusp15=0
            nujw=1
        elif nubfj15+nu1_1515+nujw==3:
            nusp15=1
            nujw=1

        if nubfj16+nu1_1616+nujw==1:
            nusp16=1
            nujw=0
        elif nubfj16+nu1_1616+nujw==0:
            nusp16=0
            nujw=0
        elif nubfj16+nu1_1616+nujw==2:
            nusp16=0
            nujw=1
        elif nubfj16+nu1_1616+nujw==3:
            nusp16=1
            nujw=1

        txbfj17.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nusp16,nusp15,nusp14,nusp13,nusp12,nusp11,nusp10,nusp9,nusp8,nusp7,nusp6,nusp5,nusp4,nusp3,nusp2,nusp1))


        nu2_1_1=nu2_22
        nu2_22=nu2_33
        nu2_33=nu2_44
        nu2_44=nu2_55
        nu2_55=nu2_66
        nu2_66=nu2_77
        nu2_77=nu2_88
        nu2_88=nu2_99
        nu2_99=nu2_1010
        nu2_1010=nu2_1111
        nu2_1111=nu2_1212
        nu2_1212=nu2_1313
        nu2_1313=nu2_1414
        nu2_1414=nu2_1515
        nu2_1515=nu2_1616
        nu2_1616=nusp1
        #上面实现了乘数逻辑右移,且在空出的最高位填上部分积逻辑右移出来的最低位nusp1,得到新的乘数
        txcc17.insert('insert','{0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}\n{15}{16}{17}{18} {19}{20}{21}{22}  {23}{24}{25}{26} {27}{28}{29}{30}'.format(0,nu2_15,nu2_14,nu2_13,nu2_12,nu2_11,nu2_10,nu2_9,nu2_8,nu2_7,nu2_6,nu2_5,nu2_4,nu2_3,nu2_2,nu2_1616,nu2_1515,nu2_1414,nu2_1313,nu2_1212,nu2_1111,nu2_1010,nu2_99,nu2_88,nu2_77,nu2_66,nu2_55,nu2_44,nu2_33,nu2_22,nu2_1_1))
        #上面实现了将新的乘数显示在下一个乘数文本框中
        
        
        nubfj1=nusp2
        nubfj2=nusp3
        nubfj3=nusp4
        nubfj4=nusp5
        nubfj5=nusp6
        nubfj6=nusp7
        nubfj7=nusp8
        nubfj8=nusp9
        nubfj9=nusp10
        nubfj10=nusp11
        nubfj11=nusp12
        nubfj12=nusp13
        nubfj13=nusp14
        nubfj14=nusp15
        nubfj15=nusp16
        nubfj16=0
        #上面实现了部分积的逻辑右移
        txbfj17.insert('insert',' {0}{1}{2}{3} {4}{5}{6}{7}  {8}{9}{10}{11} {12}{13}{14}{15}\n'.format(nubfj16,nubfj15,nubfj14,nubfj13,nubfj12,nubfj11,nubfj10,nubfj9,nubfj8,nubfj7,nubfj6,nubfj5,nubfj4,nubfj3,nubfj2,nubfj1))
        #上面实现了将逻辑右移后的部分积显示在未右移部分积的下面,两者在同一个文本框中
        txsm17.insert('insert','\n→1位得Z16,乘数已全部移出')
        
        if nu1_16==nu2_16:
            tx32.insert('insert',nubfj16)
            tx33.insert('insert',"{0}异或{1}是:0\n即为第三十二位符号位!".format(nu1_16,nu2_16))
        else:
            tx32.insert('insert',1)
            tx33.insert('insert',"{0}异或{1}是:1\n即为第三十二位符号位!".format(nu1_16,nu2_16))

        tx31.insert('insert',nubfj15)
        tx30.insert('insert',nubfj14)
        tx29.insert('insert',nubfj13)
        tx28.insert('insert',nubfj12)
        tx27.insert('insert',nubfj11)
        tx26.insert('insert',nubfj10)
        tx25.insert('insert',nubfj9)
        tx24.insert('insert',nubfj8)
        tx23.insert('insert',nubfj7)
        tx22.insert('insert',nubfj6)
        tx21.insert('insert',nubfj5)
        tx20.insert('insert',nubfj4)
        tx19.insert('insert',nubfj3)
        tx18.insert('insert',nubfj2)
        tx17.insert('insert',nubfj1)

        tx16.insert('insert',nu2_1616)
        tx15.insert('insert',nu2_1515)
        tx14.insert('insert',nu2_1414)
        tx13.insert('insert',nu2_1313)
        tx12.insert('insert',nu2_1212)
        tx11.insert('insert',nu2_1111)
        tx10.insert('insert',nu2_1010)
        tx9.insert('insert',nu2_99)
        tx8.insert('insert',nu2_88)
        tx7.insert('insert',nu2_77)
        tx6.insert('insert',nu2_66)
        tx5.insert('insert',nu2_55)
        tx4.insert('insert',nu2_44)
        tx3.insert('insert',nu2_33)
        tx2.insert('insert',nu2_22)
        tx1.insert('insert',nu2_1_1)

    lb1=tk.Label(wind1,text='输入数字1:',width=10,fg='blue')
    lb1.place(x=55,y=15)
    ent1=tk.Entry(wind1,width=3)
    ent1.place(x=120,y=15)
    ent2=tk.Entry(wind1,width=3)
    ent2.place(x=146,y=15)
    ent3=tk.Entry(wind1,width=3)
    ent3.place(x=172,y=15)
    ent4=tk.Entry(wind1,width=3)
    ent4.place(x=198,y=15)
    ent5=tk.Entry(wind1,width=3)
    ent5.place(x=224,y=15)
    ent6=tk.Entry(wind1,width=3)
    ent6.place(x=250,y=15)
    ent7=tk.Entry(wind1,width=3)
    ent7.place(x=276,y=15)
    ent8=tk.Entry(wind1,width=3)
    ent8.place(x=302,y=15)

    ent9=tk.Entry(wind1,width=3)
    ent9.place(x=328,y=15)
    ent10=tk.Entry(wind1,width=3)
    ent10.place(x=354,y=15)
    ent11=tk.Entry(wind1,width=3)
    ent11.place(x=380,y=15)
    ent12=tk.Entry(wind1,width=3)
    ent12.place(x=406,y=15)
    ent13=tk.Entry(wind1,width=3)
    ent13.place(x=432,y=15)
    ent14=tk.Entry(wind1,width=3)
    ent14.place(x=458,y=15)
    ent15=tk.Entry(wind1,width=3)
    ent15.place(x=484,y=15)
    ent16=tk.Entry(wind1,width=3)
    ent16.place(x=510,y=15)

    lbs=tk.Label(wind1,text='x',font=('Arial', 14))
    lbs.place(x=550,y=25)

    lb2=tk.Label(wind1,text='输入数字2:',width=10,fg='blue')
    lb2.place(x=55,y=40)
    ent17=tk.Entry(wind1,width=3)
    ent17.place(x=120,y=40)
    ent18=tk.Entry(wind1,width=3)
    ent18.place(x=146,y=40)
    ent19=tk.Entry(wind1,width=3)
    ent19.place(x=172,y=40)
    ent20=tk.Entry(wind1,width=3)
    ent20.place(x=198,y=40)
    ent21=tk.Entry(wind1,width=3)
    ent21.place(x=224,y=40)
    ent22=tk.Entry(wind1,width=3)
    ent22.place(x=250,y=40)
    ent23=tk.Entry(wind1,width=3)
    ent23.place(x=276,y=40)
    ent24=tk.Entry(wind1,width=3)
    ent24.place(x=302,y=40)

    ent25=tk.Entry(wind1,width=3)
    ent25.place(x=328,y=40)
    ent26=tk.Entry(wind1,width=3)
    ent26.place(x=354,y=40)
    ent27=tk.Entry(wind1,width=3)
    ent27.place(x=380,y=40)
    ent28=tk.Entry(wind1,width=3)
    ent28.place(x=406,y=40)
    ent29=tk.Entry(wind1,width=3)
    ent29.place(x=432,y=40)
    ent30=tk.Entry(wind1,width=3)
    ent30.place(x=458,y=40)
    ent31=tk.Entry(wind1,width=3)
    ent31.place(x=484,y=40)
    ent32=tk.Entry(wind1,width=3)
    ent32.place(x=510,y=40)

    bt1=tk.Button(wind1,text='相乘',command=mupym1616bit)
    bt1.place(x=610,y=25)

    btdetx=tk.Button(wind1,text='清除',command=detxt)
    btdetx.place(x=650,y=25)
    
    lbsm=tk.Label(wind1,text='部分积\t\t\t乘数\t\t\t说明\t\t\t\t部分积\t\t\t乘数\t\t\t说明',fg='blue')
    lbsm.place(x=100,y=70)

    lbfj1=tk.Label(wind1,text='----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------')
    lbfj1.place(x=60,y=90)

    txbfj1=tk.Text(wind1,width=22,height=3)
    txbfj1.place(x=100,y=105)
    txcc1=tk.Text(wind1,width=22,height=3)
    txcc1.place(x=270,y=105)
    txsm1=tk.Text(wind1,width=26,height=3)
    txsm1.place(x=440,y=105)

    txbfj2=tk.Text(wind1,width=22,height=3)
    txbfj2.place(x=100,y=150)
    txcc2=tk.Text(wind1,width=22,height=3)
    txcc2.place(x=270,y=150)
    txsm2=tk.Text(wind1,width=26,height=3)
    txsm2.place(x=440,y=150)

    txbfj3=tk.Text(wind1,width=22,height=3)
    txbfj3.place(x=100,y=195)
    txcc3=tk.Text(wind1,width=22,height=3)
    txcc3.place(x=270,y=195)
    txsm3=tk.Text(wind1,width=26,height=3)
    txsm3.place(x=440,y=195)

    txbfj4=tk.Text(wind1,width=22,height=3)
    txbfj4.place(x=100,y=240)
    txcc4=tk.Text(wind1,width=22,height=3)
    txcc4.place(x=270,y=240)
    txsm4=tk.Text(wind1,width=26,height=3)
    txsm4.place(x=440,y=240)

    txbfj5=tk.Text(wind1,width=22,height=3)
    txbfj5.place(x=100,y=285)
    txcc5=tk.Text(wind1,width=22,height=3)
    txcc5.place(x=270,y=285)
    txsm5=tk.Text(wind1,width=26,height=3)
    txsm5.place(x=440,y=285)


    txbfj6=tk.Text(wind1,width=22,height=3)
    txbfj6.place(x=100,y=330)
    txcc6=tk.Text(wind1,width=22,height=3)
    txcc6.place(x=270,y=330)
    txsm6=tk.Text(wind1,width=26,height=3)
    txsm6.place(x=440,y=330)

    txbfj7=tk.Text(wind1,width=22,height=3)
    txbfj7.place(x=100,y=375)
    txcc7=tk.Text(wind1,width=22,height=3)
    txcc7.place(x=270,y=375)
    txsm7=tk.Text(wind1,width=26,height=3)
    txsm7.place(x=440,y=375)

    txbfj8=tk.Text(wind1,width=22,height=3)
    txbfj8.place(x=100,y=420)
    txcc8=tk.Text(wind1,width=22,height=3)
    txcc8.place(x=270,y=420)
    txsm8=tk.Text(wind1,width=26,height=3)
    txsm8.place(x=440,y=420)

    txbfj9=tk.Text(wind1,width=22,height=3)
    txbfj9.place(x=650,y=105)
    txcc9=tk.Text(wind1,width=22,height=3)
    txcc9.place(x=820,y=105)
    txsm9=tk.Text(wind1,width=26,height=3)
    txsm9.place(x=990,y=105)
    
    txbfj10=tk.Text(wind1,width=22,height=3)
    txbfj10.place(x=650,y=150)
    txcc10=tk.Text(wind1,width=22,height=3)
    txcc10.place(x=820,y=150)
    txsm10=tk.Text(wind1,width=26,height=3)
    txsm10.place(x=990,y=150)

    txbfj11=tk.Text(wind1,width=22,height=3)
    txbfj11.place(x=650,y=195)
    txcc11=tk.Text(wind1,width=22,height=3)
    txcc11.place(x=820,y=195)
    txsm11=tk.Text(wind1,width=26,height=3)
    txsm11.place(x=990,y=195)

    txbfj12=tk.Text(wind1,width=22,height=3)
    txbfj12.place(x=650,y=240)
    txcc12=tk.Text(wind1,width=22,height=3)
    txcc12.place(x=820,y=240)
    txsm12=tk.Text(wind1,width=26,height=3)
    txsm12.place(x=990,y=240)

    txbfj13=tk.Text(wind1,width=22,height=3)
    txbfj13.place(x=650,y=285)
    txcc13=tk.Text(wind1,width=22,height=3)
    txcc13.place(x=820,y=285)
    txsm13=tk.Text(wind1,width=26,height=3)
    txsm13.place(x=990,y=285)

    txbfj14=tk.Text(wind1,width=22,height=3)
    txbfj14.place(x=650,y=330)
    txcc14=tk.Text(wind1,width=22,height=3)
    txcc14.place(x=820,y=330)
    txsm14=tk.Text(wind1,width=26,height=3)
    txsm14.place(x=990,y=330)

    txbfj15=tk.Text(wind1,width=22,height=3)
    txbfj15.place(x=650,y=375)
    txcc15=tk.Text(wind1,width=22,height=3)
    txcc15.place(x=820,y=375)
    txsm15=tk.Text(wind1,width=26,height=3)
    txsm15.place(x=990,y=375)

    txbfj16=tk.Text(wind1,width=22,height=3)
    txbfj16.place(x=650,y=420)
    txcc16=tk.Text(wind1,width=22,height=3)
    txcc16.place(x=820,y=420)
    txsm16=tk.Text(wind1,width=26,height=3)
    txsm16.place(x=990,y=420)

    txbfj17=tk.Text(wind1,width=22,height=3)
    txbfj17.place(x=650,y=465)
    txcc17=tk.Text(wind1,width=22,height=3)
    txcc17.place(x=820,y=465)
    txsm17=tk.Text(wind1,width=26,height=3)
    txsm17.place(x=990,y=465)

    lbfj2=tk.Label(wind1,text='----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------')
    lbfj2.place(x=60,y=510)

    lb4=tk.Label(wind1,text='数字1x数字2结果为(原码):')
    lb4.place(x=90,y=535)
    
    tx17=tk.Text(wind1,width=3,height=1)
    tx17.place(x=510,y=555)

    tx18=tk.Text(wind1,width=3,height=1)
    tx18.place(x=484,y=555)

    tx19=tk.Text(wind1,width=3,height=1)
    tx19.place(x=458,y=555)

    tx20=tk.Text(wind1,width=3,height=1)
    tx20.place(x=432,y=555)

    tx21=tk.Text(wind1,width=3,height=1)
    tx21.place(x=406,y=555)

    tx22=tk.Text(wind1,width=3,height=1)
    tx22.place(x=380,y=555)

    tx23=tk.Text(wind1,width=3,height=1)
    tx23.place(x=354,y=555)

    tx24=tk.Text(wind1,width=3,height=1)
    tx24.place(x=328,y=555)

    tx25=tk.Text(wind1,width=3,height=1)
    tx25.place(x=302,y=555)

    tx26=tk.Text(wind1,width=3,height=1)
    tx26.place(x=276,y=555)

    tx27=tk.Text(wind1,width=3,height=1)
    tx27.place(x=250,y=555)

    tx28=tk.Text(wind1,width=3,height=1)
    tx28.place(x=224,y=555)

    tx29=tk.Text(wind1,width=3,height=1)
    tx29.place(x=198,y=555)

    tx30=tk.Text(wind1,width=3,height=1)
    tx30.place(x=172,y=555)

    tx31=tk.Text(wind1,width=3,height=1)
    tx31.place(x=146,y=555)

    tx32=tk.Text(wind1,width=3,height=1)
    tx32.place(x=120,y=555)

    lbbs1=tk.Label(wind1,text='31   30   29   28   27   26   25   24   23   22   21   20   19   18    17    16',fg='red')
    lbbs1.place(x=120,y=570)

    tx1=tk.Text(wind1,width=3,height=1)
    tx1.place(x=510,y=600)

    tx2=tk.Text(wind1,width=3,height=1)
    tx2.place(x=484,y=600)

    tx3=tk.Text(wind1,width=3,height=1)
    tx3.place(x=458,y=600)

    tx4=tk.Text(wind1,width=3,height=1)
    tx4.place(x=432,y=600)

    tx5=tk.Text(wind1,width=3,height=1)
    tx5.place(x=406,y=600)

    tx6=tk.Text(wind1,width=3,height=1)
    tx6.place(x=380,y=600)

    tx7=tk.Text(wind1,width=3,height=1)
    tx7.place(x=354,y=600)

    tx8=tk.Text(wind1,width=3,height=1)
    tx8.place(x=328,y=600)

    tx9=tk.Text(wind1,width=3,height=1)
    tx9.place(x=302,y=600)

    tx10=tk.Text(wind1,width=3,height=1)
    tx10.place(x=276,y=600)

    tx11=tk.Text(wind1,width=3,height=1)
    tx11.place(x=250,y=600)

    tx12=tk.Text(wind1,width=3,height=1)
    tx12.place(x=224,y=600)

    tx13=tk.Text(wind1,width=3,height=1)
    tx13.place(x=198,y=600)

    tx14=tk.Text(wind1,width=3,height=1)
    tx14.place(x=172,y=600)

    tx15=tk.Text(wind1,width=3,height=1)
    tx15.place(x=146,y=600)

    tx16=tk.Text(wind1,width=3,height=1)
    tx16.place(x=120,y=600)

    lbbs0=tk.Label(wind1,text='15   14   13   12   11   10     9     8      7     6     5    4    3     2     1     0',fg='red')
    lbbs0.place(x=120,y=615)

    tx33=tk.Text(wind1,width=13,height=4)
    tx33.place(x=560,y=555)

    wind1.mainloop()

2.结果示例

在这里插入图片描述

【重新输入数据后,点击“清除”按钮,会删除掉所有输出文本框中的内容!】
在这里插入图片描述

posted @ 2021-11-23 16:55  TDTX  阅读(187)  评论(0编辑  收藏  举报