c±àдdll¹©c#µ÷ÓÃ
1.н¨dll¹¤³Ì£¬ÔÚº¯ÊýÇ°ÃæÔö¼Ó extern "C" __declspec(dllexport) double __stdcall
double Ϊº¯Êý·µ»ØÖµÀàÐÍ
// log.cpp : Defines the exported functions for the DLL application.
//
#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <time.h>
#define PI 3.14159
double AverageRandom(double min,double max)//²úÉú(min,max)Ö®¼ä¾ùÔÈ·Ö²¼µÄËæ»úÊý
{
int MINnteger = (int)(min*10000);
int MAXnteger = (int)(max*10000);
int aa=rand();
int bb=rand();
int randInteger = aa*bb;
int diffInteger = MAXnteger - MINnteger;
int resultInteger = randInteger % diffInteger + MINnteger;
return resultInteger/10000.0;
}
double LogNormal(double x,double miu,double sigma) //¶ÔÊýÕý̬·Ö²¼¸ÅÂÊÃܶȺ¯Êý
{
return 1.0/(x*sqrt(2*PI)*sigma) * exp(-1*(log(x)-miu)*(log(x)-miu)/(2*sigma*sigma));
}
extern "C" __declspec(dllexport) double __stdcall Random_LogNormal(double miu,double sigma,double min,double max)//²úÉú¶ÔÊýÕý̬·Ö²¼Ëæ»úÊý
{
double x;
double dScope;
double y;
do
{
x = AverageRandom(min,max);
y = LogNormal(x, miu, sigma);
dScope = AverageRandom(0, LogNormal(miu,miu,sigma));
}while( dScope > y);
return x;
}
2.C#ÖдúÂë
//ͨ¹ýDllImportÒýÓÃlog.dllÀà¡£Random_LogNormalÀ´×ÔÓÚlog.dllÀà
[DllImport("log.dll", EntryPoint = "Random_LogNormal")]
public static extern double Random_LogNormal(double miu, double sigma, double min, double max);
using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
class Program
{
///****************************************************
/// ²úÉúN=100¸öÔÚ£¨0,50£©Çø¼äÄÚÂú×ã¶ÔÊýÕý̬·Ö²¼µÄËæ»úÊý
///*****************************************************/
const int N = 100;
const int MAX = 30;
const double MIN = 0.5;
Ïà¹ØÎĵµ£º
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ViewState["BackUrl"] = Request.UrlReferrer.ToString();
}
}
/// <summary>
/// ·µ»Ø°´Å¥µã»÷ʼþ
/// </summary& ......
Ò» £¬ÔõÑùѧϰCÓïÑÔ
ºÜ¶àÈ˶ÔѧϰCÓïÑԸе½ÎÞ´ÓÏÂÊÖ£¬¾³£ÎÊÎÒͬһ¸öÎÊÌ⣺¾¿¾¹ÔõÑùѧϰCÓïÑÔ£¿ÎÒÊÇÒ»¸ö½Ìʦ£¬ÒѾ¿ª·¢Á˺ܶàÄêµÄ³ÌÐò£¬ºÍºÜ¶à¸Õ¸ÕÆð²½µÄÈËÒ»Ñù£¬Ñ§Ï°µÄµÚÒ»¸ö¼ÆËã»úÓïÑÔ¾ÍÊÇCÓïÑÔ¡£¾¹ýÕâЩÄêµÄ¿ª·¢£¬ÎÒÉîÉîµÄÌå»áµ½CÓïÑÔ¶ÔÓÚÒ»¸ö³ÌÐòÉè¼ÆÈËÔ±¶àôµÄÖØÒª£¬Èç¹û²»¶®CÓ ......
×Ô¼ºËѼ¯²¢ÇÒÕûÀí£¬ÓÃÓڲο¼¡£
1.ÍêÕûÁ÷³Ì£º
CÔ´³ÌÐòÍ·Îļþ££>Ô¤±àÒë´¦Àí(cpp)££>±àÒë³ÌÐò±¾Éí££>ÓÅ»¯³ÌÐò££>»ã±à³ÌÐò££>Á´½Ó³ÌÐò-->¿ÉÖ´ÐÐÎļþ
pic from http://edmulroy.portbridge.com/oview.htm
2. cµÄÔ¤´¦Àí
Ô¤±àÒë³ÌÐòËùÍê³ÉµÄ»ù±¾ÉÏÊǶÔÔ´³ÌÐòµÄ& ......
λºÍ×Ö½ÚµÄÖØÅÅÔÚÃÜÂëѧËã·¨ÖÐÓй㷺µÄÓ¦Óá£
/* rearran.c£ºÎ»ºÍ×Ö½ÚµÄÖØÅÅ */
/* λ·´×ª£ºÒÔ×ÖµÄÖÐÐÄΪ¶Ô³Æµã½øÐÐλ·´Éä
ÀýÈ磺 abcd efgh ijkl mnop ABCD EFGH IJKL MNOP
λ·´×ª£ºPONM LKJI HGFE DCBA ponm lkji hgfe dcba */
unsigned rev(unsigned x){
/* ½»»»ÏàÁڵĵ¥¸öλ */
x=(x & 0x5 ......