亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fecdlg.cpp

?? 2/3了FEC 編碼/譯碼的一種算法,能糾正一位錯誤
?? CPP
字號:
// FECDlg.cpp : implementation file
//

#include "stdafx.h"
#include "FEC.h"
#include "FECDlg.h"

#include <bitset>
#include <string>
#include <vector>
#include <iterator>
using std::bitset ;
using std::string ;
using std::vector ;
using std::iterator ;

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CFECDlg dialog

CFECDlg::CFECDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CFECDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CFECDlg)
	m_input = _T("");
	m_output = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CFECDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CFECDlg)
	DDX_Control(pDX, IDC_EDIT4, m_text);
	DDX_Text(pDX, IDC_EDIT1, m_input);
	DDV_MaxChars(pDX, m_input, 3);
	DDX_Text(pDX, IDC_EDIT2, m_output);
	DDV_MaxChars(pDX, m_output, 15);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CFECDlg, CDialog)
	//{{AFX_MSG_MAP(CFECDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_ENCODE, OnEncode)
	ON_BN_CLICKED(IDC_ERROR, OnError)
	ON_BN_CLICKED(IDC_DECODE, OnDecode)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CFECDlg message handlers

BOOL CFECDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	GetDlgItem(IDC_ERROR)->EnableWindow(false);
	GetDlgItem(IDC_DECODE)->EnableWindow(false);
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CFECDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CFECDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CFECDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CFECDlg::OnEncode() 
{
	// TODO: Add your control notification handler code here
	UpdateData() ;

		//BCD碼字母轉換表
	char	DConvTable[10][5] = { "0000" , "0001" , "0010" , "0011" , "0100" ,
		                          "0101" , "0110" , "0111" , "1000" , "1001" } ;
	char	AConvTable[6][5] = { "1010" , "1011" , "1100" , "1101" , "1110" , "1111" } ;

	char	temp[13]="" ;	
	int		i ;
	
	GetDlgItem(IDC_EDIT2)->SetWindowText("");
	
	for( i = 0 ; i < strlen(m_input) ; ++ i )
		if( m_input[i] <= 'f' && m_input[i] >= 'a' )
			strcat(temp,AConvTable[m_input[i]-'a'] ) ;
		else
			strcat(temp, DConvTable[m_input[i]-'0'] ) ;

	bitset<12> code_temp(temp , 0, 12 ) ;
	if ( code_temp.to_ulong() > 1023 ) {
		AfxMessageBox("輸入范圍0--3ff");
		GetDlgItem(IDC_EDIT1)->SetWindowText("");
		return ;
	}

	bitset<10> code( code_temp.to_string().c_str()+2 , 0 , 10 ) ;

	bitset<5> reg("00000",0,5) ;

	for( i = 0 ; i <= 9 ; ++ i ) {
		bool d = (reg[0]^code[i]) ;
		reg[0] = (reg[1]^d) ;
		reg[1] = (reg[2]) ;
		reg[2] = (reg[3]^d );
		reg[3] = (reg[4] );
		reg[4] = d ;
	}
	m_output = (reg.to_string()+code.to_string()).c_str() ;
	//m_out=(reg.to_string()+code.to_string()).c_str() ;
	UpdateData(false) ;

	GetDlgItem(IDC_ERROR)->EnableWindow(true);
	GetDlgItem(IDC_DECODE)->EnableWindow(true);

	((CEdit*)GetDlgItem(IDC_EDIT2))->SetReadOnly(true);
}

void CFECDlg::OnError() 
{
	// TODO: Add your control notification handler code here
	((CEdit*)GetDlgItem(IDC_EDIT2))->SetReadOnly(false);
	GotoDlgCtrl(GetDlgItem(IDC_EDIT2));
}

void CFECDlg::OnDecode() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	
	static CString history_message ;
	char message[200]="" ;
	int i;
	bitset<15> decode((LPCTSTR)m_output,0,15);
	bitset<5> reg("00000",0,5);

	vector< bitset<5> > errTbl ;
	errTbl.push_back( bitset<5>("00001",0,5) ) ;
	errTbl.push_back( bitset<5>("00010",0,5) ) ;
	errTbl.push_back( bitset<5>("00100",0,5) ) ;
	errTbl.push_back( bitset<5>("01000",0,5) ) ;
	errTbl.push_back( bitset<5>("10000",0,5) ) ;
	errTbl.push_back( bitset<5>("01011",0,5) ) ;
	errTbl.push_back( bitset<5>("10110",0,5) ) ;
	errTbl.push_back( bitset<5>("00111",0,5) ) ;
	errTbl.push_back( bitset<5>("01110",0,5) ) ;
	errTbl.push_back( bitset<5>("11100",0,5) ) ;
	errTbl.push_back( bitset<5>("10011",0,5) ) ;
	errTbl.push_back( bitset<5>("01101",0,5) ) ;
	errTbl.push_back( bitset<5>("11010",0,5) ) ;
	errTbl.push_back( bitset<5>("11111",0,5) ) ;
	errTbl.push_back( bitset<5>("10101",0,5) ) ;


	for(i=0;i<15;i++) {
		bool d = (reg[0]^decode[i]) ;
		reg[0] = (reg[1]^d) ;
		reg[1] = (reg[2]) ;
		reg[2] = (reg[3]^d );
		reg[3] = (reg[4] );
		reg[4] = d ;
	}

	if ( reg.any() ) {		
		for ( i = 0 ; i < 15 ; ++ i )
			if ( errTbl[i] == reg )
				break ;		
		if( i == 15 )  {//1位以上錯
			string temp_s = decode.to_string() ;
			const char *temp=temp_s.c_str()+5 ;
			bitset<10> temp_b(temp,0,10) ;
			sprintf(message,"信道傳輸產(chǎn)生2位或2位以上的錯誤!超過2/3FEC碼糾錯范圍,不可糾錯。譯碼結果為:%s,十六進制結果為:%0x",temp,temp_b.to_ulong()) ;
		}
		else { //1位錯
			string temp_s = decode.flip(i).to_string() ;
			const char *temp=temp_s.c_str()+5 ;
			bitset<10> temp_b(temp,0,10) ;
			sprintf(message,"信道傳輸產(chǎn)生一位錯碼!可糾錯!該碼位于第%d位,譯碼結果為:%s,十六進制結果為:%0x",15-i,temp, temp_b.to_ulong() ) ;
		}
	}
	else {//無錯
		string temp_s = decode.to_string() ;
		const char *temp=temp_s.c_str()+5 ;
		bitset<10> temp_b(temp,0,10) ;
		sprintf(message,"信道傳輸正確或產(chǎn)生不可檢錯的誤碼序列。接收序列為:%s,譯碼結果為:%s,十六進制結果為:%0x",m_output,temp,temp_b.to_ulong() ) ;
	}
	history_message +=CString(message) + CString("\t\t\t") ;
	GetDlgItem(IDC_EDIT3)->SetWindowText( history_message ) ;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国模无码大尺度一区二区三区| 91麻豆福利精品推荐| 粉嫩一区二区三区性色av| 日本久久一区二区三区| 日韩美女天天操| 亚洲人被黑人高潮完整版| 久色婷婷小香蕉久久| 欧洲视频一区二区| 国产精品视频看| 国产在线精品不卡| 777a∨成人精品桃花网| 一区二区三区免费在线观看| 国产成人免费视频网站高清观看视频| 欧美精选一区二区| 亚洲高清不卡在线观看| a4yy欧美一区二区三区| 国产日韩精品一区二区三区| 青青草91视频| 3atv一区二区三区| 亚洲国产人成综合网站| 色综合天天综合给合国产| 欧美国产综合色视频| 国产一区二区h| 欧美tk—视频vk| 狂野欧美性猛交blacked| 欧美一区二区在线免费播放| 午夜电影网一区| 91精品国产全国免费观看| 亚洲成人在线观看视频| 欧美日韩一区二区三区不卡| 亚洲小少妇裸体bbw| 欧亚洲嫩模精品一区三区| 一区二区三区高清| 欧美三级电影一区| 日韩影院免费视频| 欧美一级搡bbbb搡bbbb| 免费一级欧美片在线观看| 日韩视频一区二区三区在线播放| 蜜臀av性久久久久av蜜臀妖精| 91精品国产91久久久久久最新毛片| 亚洲aⅴ怡春院| 欧美一级精品在线| 狠狠色伊人亚洲综合成人| 久久亚洲精华国产精华液 | 亚洲电影中文字幕在线观看| 国产成人99久久亚洲综合精品| 亚洲国产高清不卡| 91啪亚洲精品| 视频一区视频二区在线观看| 日韩视频免费直播| 成人av网址在线| 一区二区三区四区亚洲| 欧美精品久久99| 国产在线一区二区| 日本一区二区三区在线不卡| 99国内精品久久| 亚洲丶国产丶欧美一区二区三区| 欧美日韩国产一区| 国产精品综合视频| 一区二区在线观看av| 欧美丰满美乳xxx高潮www| 精品一区二区国语对白| 国产精品每日更新| 777午夜精品免费视频| 国产福利精品导航| 亚洲成av人片在线观看无码| 欧美v亚洲v综合ⅴ国产v| 99精品在线免费| 美女网站视频久久| 日韩一区中文字幕| 日韩欧美国产三级| 91久久精品日日躁夜夜躁欧美| 精品写真视频在线观看| 亚洲视频在线观看一区| 欧美一区二区久久久| av网站免费线看精品| 全部av―极品视觉盛宴亚洲| 亚洲色欲色欲www| 欧美www视频| 欧美性猛交xxxxxxxx| 国产精品一级片| 免费在线观看成人| 一区二区久久久久久| 欧美国产成人精品| 日韩欧美国产小视频| 欧美三级电影一区| 欧洲另类一二三四区| 不卡的av电影在线观看| 久久www免费人成看片高清| 亚洲午夜影视影院在线观看| 国产精品情趣视频| 久久久久久久精| 欧美一区二区三区四区在线观看| 91久久精品一区二区| 99久久99久久久精品齐齐| 国产一区二区三区不卡在线观看| 香港成人在线视频| 亚洲午夜精品17c| 一区二区三区四区不卡视频| 最新日韩av在线| 欧美国产精品中文字幕| 国产色爱av资源综合区| 久久这里只有精品首页| 欧美成人bangbros| 欧美一区二区三区不卡| 欧美一级片在线看| 欧美一级一级性生活免费录像| 在线综合+亚洲+欧美中文字幕| 在线观看一区二区精品视频| 日本伦理一区二区| 欧美视频自拍偷拍| 欧美日韩国产综合视频在线观看| 在线观看不卡视频| 欧美伦理影视网| 欧美一区二区三区人| 欧美一区二区三区在线电影| 日韩欧美综合一区| 欧美精品一区二区在线播放 | 亚洲第一激情av| 婷婷综合另类小说色区| 亚洲成av人片在线| 麻豆精品国产91久久久久久| 裸体一区二区三区| 紧缚奴在线一区二区三区| 激情文学综合插| 成人国产精品免费观看视频| 色综合久久88色综合天天| 欧美中文字幕一区| 日韩欧美国产一区二区三区| 久久久久久久综合色一本| 欧美激情一区二区三区全黄| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 中文字幕一区二区三区四区不卡 | 51精品秘密在线观看| 欧美一区二区女人| 中文字幕欧美激情一区| 亚洲男同1069视频| 欧美a级理论片| 国产真实乱偷精品视频免| 成人精品视频一区二区三区尤物| 91在线云播放| 日韩欧美一区中文| 成人欧美一区二区三区白人| 亚洲一区二区三区四区五区黄| 日本不卡一区二区三区高清视频| 国内精品视频666| 在线免费观看不卡av| 日韩一区二区三区视频在线 | 欧美videos大乳护士334| 中文av一区二区| 婷婷中文字幕综合| 国产精品夜夜嗨| 欧美午夜精品久久久久久超碰| 日韩视频一区二区| 悠悠色在线精品| 国产伦精品一区二区三区免费迷 | 蜜桃久久久久久| 成人不卡免费av| 欧美一区二区福利视频| 中文字幕在线不卡国产视频| 秋霞午夜鲁丝一区二区老狼| 99久久免费国产| 亚洲精品一区二区三区四区高清 | 亚洲精品免费看| 国产一区在线看| 欧美日韩精品免费观看视频| 国产精品色噜噜| 美女尤物国产一区| 在线看国产日韩| 中文字幕永久在线不卡| 国产在线视视频有精品| 欧美夫妻性生活| 亚洲午夜精品网| 色噜噜狠狠色综合中国| 国产精品国产三级国产有无不卡| 日韩精品一卡二卡三卡四卡无卡| 91蝌蚪国产九色| 国产精品色眯眯| 成人综合在线观看| 欧美精品一区男女天堂| 麻豆国产91在线播放| 欧美日产国产精品| 亚洲一区二区精品视频| 99精品国产视频| 亚洲视频一区二区在线观看| 国产suv精品一区二区三区| 日韩视频一区在线观看| 奇米一区二区三区av| 51午夜精品国产| 婷婷综合在线观看| 91精品国产综合久久福利| 日韩精品视频网站| 欧美一区二区三区视频免费播放| 日韩一区精品视频| 欧美一区二区免费| 国产自产v一区二区三区c| 亚洲精品一区在线观看| 国产精品综合一区二区| 国产亚洲精品bt天堂精选|