⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 change.h

📁 密码学实验中的DES算法
💻 H
字号:
// Change.h: interface for the CChange class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_CHANGE_H__609179A7_67C2_4D79_BE92_79B6FD3806DE__INCLUDED_)
#define AFX_CHANGE_H__609179A7_67C2_4D79_BE92_79B6FD3806DE__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class CChange  
{
public:
	CChange();
	virtual ~CChange();

};

#endif // !defined(AFX_CHANGE_H__609179A7_67C2_4D79_BE92_79B6FD3806DE__INCLUDED_)

CString BinToDec(CString strBin)
{
    CString strDec;
    long nDec = 0, nLen;
    int i, j, k;
    
    nLen = strBin.GetLength();
    for (i=0; i<nLen; i++)
    {
        if ( strBin[nLen-i-1] == '0' )
            continue;
        else
        {
            k = 1;
            for(j=0; j<i; j++)
                k = k * 2;
            nDec += k;
        }        
    }
 
    strDec.Format("%ld", nDec);
 
    return strDec;
}

//2. 10 进制 -----> 2 进制

CString DecToBin(CString strDec)
{
    int nDec = atoi(strDec);
    int nYushu, nShang;
    CString strBin = _T(""), strTemp;
    TCHAR buf[2];
    BOOL bContinue = TRUE;
 
    while ( bContinue )
    {
        nYushu = nDec % 2;
        nShang = nDec / 2;
        sprintf(buf, "%d", nYushu);
        strTemp = strBin;
        strBin.Format("%s%s", buf, strTemp);
        nDec = nShang;
        if ( nShang == 0 )
            bContinue = FALSE;
    }
    
    int nTemp = strBin.GetLength()%4;
    switch(nTemp) 
    {
    case 1:
        strTemp.Format(_T("000%s"), strBin);
        strBin = strTemp;
        break;
    case 2:
        strTemp.Format(_T("00%s"), strBin);
        strBin = strTemp;
        break; 

case 3:
        strTemp.Format(_T("0%s"), strBin);
        strBin = strTemp;
        break;
    default:
        break;
    }
    return strBin;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -