📄 jidia2dlg.cpp
字号:
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
}
void CJidia2Dlg::OnChangeDisplay2()
{
UpdateData(true); // TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
}
void CJidia2Dlg::OnChangeDisplay3()
{
UpdateData(true);
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
}
void CJidia2Dlg::jisuanstr()//16进制变换成2进制
{
switch(m_display1.GetAt(0))
{case'0':
strin2="00";break;
case'1':
strin2="01";break;
case'2':
strin2="10";break;
case'3':
strin2="11";break;
default:
strin2="00";break;
}
switch(m_display1.GetAt(1))
{
case'0':
strin1="0000";break;
case'1':
strin1="0001";break;
case'2':
strin1="0010";break;
case'3':
strin1="0011";break;
case'4':
strin1="0100";break;
case'5':
strin1="0101";break;
case'6':
strin1="0110";break;
case'7':
strin1="0111";break;
case'8':
strin1="1000";break;
case'9':
strin1="1001";break;
case 'a':
case'A':
strin1="1010";break;
case'b':
case'B':
strin1="1011";break;
case'c':
case'C':
strin1="1100";break;
case'd':
case'D':
strin1="1101";break;
case'e':
case'E':
strin1="1110";break;
case'f':
case'F':
strin1="1111";break;
default:
strin1="0000";break;
}
switch(m_display1.GetAt(2))
{
case'0':
strin0="0000";break;
case'1':
strin0="0001";break;
case'2':
strin0="0010";break;
case'3':
strin0="0011";break;
case'4':
strin0="0100";break;
case'5':
strin0="0101";break;
case'6':
strin0="0110";break;
case'7':
strin0="0111";break;
case'8':
strin0="1000";break;
case'9':
strin0="1001";break;
case'a':
case'A':
strin0="1010";break;
case'b':
case'B':
strin0="1011";break;
case'c':
case'C':
strin0="1100";break;
case'd':
case'D':
strin0="1101";break;
case'e':
case'E':
strin0="1110";break;
case'f':
case'F':
strin0="1111";break;
default:
strin0="0000";break;
}
str=strin2+strin1+strin0;
}
void CJidia2Dlg::jisuanm_display2()//计算5位校验位
{
////将二进制字符串变换成整形
if(str.GetAt(9)=='0')
a[9]=0;
if(str.GetAt(9)=='1')
a[9]=1;
if(str.GetAt(8)=='0')
a[8]=0;
if(str.GetAt(8)=='1')
a[8]=1;
if(str.GetAt(7)=='0')
a[7]=0;
if(str.GetAt(7)=='1')
a[7]=1;
if(str.GetAt(6)=='0')
a[6]=0;
if(str.GetAt(6)=='1')
a[6]=1;
if(str.GetAt(5)=='0')
a[5]=0;
if(str.GetAt(5)=='1')
a[5]=1;
if(str.GetAt(4)=='0')
a[4]=0;
if(str.GetAt(4)=='1')
a[4]=1;
if(str.GetAt(3)=='0')
a[3]=0;
if(str.GetAt(3)=='1')
a[3]=1;
if(str.GetAt(2)=='0')
a[2]=0;
if(str.GetAt(2)=='1')
a[2]=1;
if(str.GetAt(1)=='0')
a[1]=0;
if(str.GetAt(1)=='1')
a[1]=1;
if(str.GetAt(0)=='0')
a[0]=0;
if(str.GetAt(0)=='1')
a[0]=1;
d0=0;d1=0;d2=0;d3=0;d4=0;d5=0;
///////////
//十次输入后得到5个校验位
d5=(a[9]+d4)%2;
prd1=d1;
prd2=d3;
d1=d0;
d3=d2;
d0=d5;
d2=(d0+prd1)%2;
d4=(prd2+d0)%2;
d5=(a[8]+d4)%2;
prd1=d1;
prd2=d3;
d1=d0;
d3=d2;
d0=d5;
d2=(d0+prd1)%2;
d4=(prd2+d0)%2;
d5=(a[7]+d4)%2;
prd1=d1;
prd2=d3;
d1=d0;
d3=d2;
d0=d5;
d2=(d0+prd1)%2;
d4=(prd2+d0)%2;
d5=(a[6]+d4)%2;
prd1=d1;
prd2=d3;
d1=d0;
d3=d2;
d0=d5;
d2=(d0+prd1)%2;
d4=(prd2+d0)%2;
d5=(a[5]+d4)%2;
prd1=d1;
prd2=d3;
d1=d0;
d3=d2;
d0=d5;
d2=(d0+prd1)%2;
d4=(prd2+d0)%2;
d5=(a[4]+d4)%2;
prd1=d1;
prd2=d3;
d1=d0;
d3=d2;
d0=d5;
d2=(d0+prd1)%2;
d4=(prd2+d0)%2;
d5=(a[3]+d4)%2;
prd1=d1;
prd2=d3;
d1=d0;
d3=d2;
d0=d5;
d2=(d0+prd1)%2;
d4=(prd2+d0)%2;
d5=(a[2]+d4)%2;
prd1=d1;
prd2=d3;
d1=d0;
d3=d2;
d0=d5;
d2=(d0+prd1)%2;
d4=(prd2+d0)%2;
d5=(a[1]+d4)%2;
prd1=d1;
prd2=d3;
d1=d0;
d3=d2;
d0=d5;
d2=(d0+prd1)%2;
d4=(prd2+d0)%2;
d5=(a[0]+d4)%2;
prd1=d1;
prd2=d3;
d1=d0;
d3=d2;
d0=d5;
d2=(d0+prd1)%2;
d4=(prd2+d0)%2;
//将整形变换成字符型
if(d0==0)
s0='0';else s0='1';
if(d1==0)
s1='0';else s1='1';
if(d2==0)
s2='0';else s2='1';
if(d3==0)
s3='0';else s3='1';
if(d4==0)
s4='0';else s4='1';
s=s0+s1+s2+s3+s4;
}
void CJidia2Dlg::jiama()//解码
{///////////最高二位二进制变成16进制的最高位
if(sjiama.GetAt(0)=='0'&&sjiama.GetAt(1)=='0')
sjiama1='0';
if(sjiama.GetAt(0)=='0'&&sjiama.GetAt(1)=='1')
sjiama1='1';
if(sjiama.GetAt(0)=='1'&&sjiama.GetAt(1)=='0')
sjiama1='2';
if(sjiama.GetAt(0)=='1'&&sjiama.GetAt(1)=='1')
sjiama1='0';
/////////////3到6位二进制变成16进制的中间位
if(sjiama.GetAt(2)=='0'&&sjiama.GetAt(3)=='0'&&sjiama.GetAt(4)=='0'&&sjiama.GetAt(5)=='0')
sjiama2='0';
if(sjiama.GetAt(2)=='0'&&sjiama.GetAt(3)=='0'&&sjiama.GetAt(4)=='0'&&sjiama.GetAt(5)=='1')
sjiama2='1';
if(sjiama.GetAt(2)=='0'&&sjiama.GetAt(3)=='0'&&sjiama.GetAt(4)=='1'&&sjiama.GetAt(5)=='0')
sjiama2='2';
if(sjiama.GetAt(2)=='0'&&sjiama.GetAt(3)=='0'&&sjiama.GetAt(4)=='1'&&sjiama.GetAt(5)=='1')
sjiama2='3';
if(sjiama.GetAt(2)=='0'&&sjiama.GetAt(3)=='1'&&sjiama.GetAt(4)=='0'&&sjiama.GetAt(5)=='0')
sjiama2='4';
if(sjiama.GetAt(2)=='0'&&sjiama.GetAt(3)=='1'&&sjiama.GetAt(4)=='0'&&sjiama.GetAt(5)=='1')
sjiama2='5';
if(sjiama.GetAt(2)=='0'&&sjiama.GetAt(3)=='1'&&sjiama.GetAt(4)=='1'&&sjiama.GetAt(5)=='0')
sjiama2='6';
if(sjiama.GetAt(2)=='0'&&sjiama.GetAt(3)=='1'&&sjiama.GetAt(4)=='1'&&sjiama.GetAt(5)=='1')
sjiama2='7';
if(sjiama.GetAt(2)=='1'&&sjiama.GetAt(3)=='0'&&sjiama.GetAt(4)=='0'&&sjiama.GetAt(5)=='0')
sjiama2='8';
if(sjiama.GetAt(2)=='1'&&sjiama.GetAt(3)=='0'&&sjiama.GetAt(4)=='0'&&sjiama.GetAt(5)=='1')
sjiama2='9';
if(sjiama.GetAt(2)=='1'&&sjiama.GetAt(3)=='0'&&sjiama.GetAt(4)=='1'&&sjiama.GetAt(5)=='0')
sjiama2='A';
if(sjiama.GetAt(2)=='1'&&sjiama.GetAt(3)=='0'&&sjiama.GetAt(4)=='1'&&sjiama.GetAt(5)=='1')
sjiama2='B';
if(sjiama.GetAt(2)=='1'&&sjiama.GetAt(3)=='1'&&sjiama.GetAt(4)=='0'&&sjiama.GetAt(5)=='0')
sjiama2='C';
if(sjiama.GetAt(2)=='1'&&sjiama.GetAt(3)=='1'&&sjiama.GetAt(4)=='0'&&sjiama.GetAt(5)=='1')
sjiama2='D';
if(sjiama.GetAt(2)=='1'&&sjiama.GetAt(3)=='1'&&sjiama.GetAt(4)=='1'&&sjiama.GetAt(5)=='0')
sjiama2='E';
if(sjiama.GetAt(2)=='1'&&sjiama.GetAt(3)=='1'&&sjiama.GetAt(4)=='1'&&sjiama.GetAt(5)=='1')
sjiama2='F';
/////////////7到10位二进制变成16进制低位
if(sjiama.GetAt(6)=='0'&&sjiama.GetAt(7)=='0'&&sjiama.GetAt(8)=='0'&&sjiama.GetAt(9)=='0')
sjiama3='0';
if(sjiama.GetAt(6)=='0'&&sjiama.GetAt(7)=='0'&&sjiama.GetAt(8)=='0'&&sjiama.GetAt(9)=='1')
sjiama3='1';
if(sjiama.GetAt(6)=='0'&&sjiama.GetAt(7)=='0'&&sjiama.GetAt(8)=='1'&&sjiama.GetAt(9)=='0')
sjiama3='2';
if(sjiama.GetAt(6)=='0'&&sjiama.GetAt(7)=='0'&&sjiama.GetAt(8)=='1'&&sjiama.GetAt(9)=='1')
sjiama3='3';
if(sjiama.GetAt(6)=='0'&&sjiama.GetAt(7)=='1'&&sjiama.GetAt(8)=='0'&&sjiama.GetAt(9)=='0')
sjiama3='4';
if(sjiama.GetAt(6)=='0'&&sjiama.GetAt(7)=='1'&&sjiama.GetAt(8)=='0'&&sjiama.GetAt(9)=='1')
sjiama3='5';
if(sjiama.GetAt(6)=='0'&&sjiama.GetAt(7)=='1'&&sjiama.GetAt(8)=='1'&&sjiama.GetAt(9)=='0')
sjiama3='6';
if(sjiama.GetAt(6)=='0'&&sjiama.GetAt(7)=='1'&&sjiama.GetAt(8)=='1'&&sjiama.GetAt(9)=='1')
sjiama3='7';
if(sjiama.GetAt(6)=='1'&&sjiama.GetAt(7)=='0'&&sjiama.GetAt(8)=='0'&&sjiama.GetAt(9)=='0')
sjiama3='8';
if(sjiama.GetAt(6)=='1'&&sjiama.GetAt(7)=='0'&&sjiama.GetAt(8)=='0'&&sjiama.GetAt(9)=='1')
sjiama3='9';
if(sjiama.GetAt(6)=='1'&&sjiama.GetAt(7)=='0'&&sjiama.GetAt(8)=='1'&&sjiama.GetAt(9)=='0')
sjiama3='A';
if(sjiama.GetAt(6)=='1'&&sjiama.GetAt(7)=='0'&&sjiama.GetAt(8)=='1'&&sjiama.GetAt(9)=='1')
sjiama3='B';
if(sjiama.GetAt(6)=='1'&&sjiama.GetAt(7)=='1'&&sjiama.GetAt(8)=='0'&&sjiama.GetAt(9)=='0')
sjiama3='C';
if(sjiama.GetAt(6)=='1'&&sjiama.GetAt(7)=='1'&&sjiama.GetAt(8)=='0'&&sjiama.GetAt(9)=='1')
sjiama3='D';
if(sjiama.GetAt(6)=='1'&&sjiama.GetAt(7)=='1'&&sjiama.GetAt(8)=='1'&&sjiama.GetAt(9)=='0')
sjiama3='E';
if(sjiama.GetAt(6)=='1'&&sjiama.GetAt(7)=='1'&&sjiama.GetAt(8)=='1'&&sjiama.GetAt(9)=='1')
sjiama3='F';
////////////////最后得到解码的值
sjiama0=sjiama1+sjiama2+sjiama3;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -