프로그래밍/C# 36

C# 에서 xmpir 사용하기

1. mpir 은 gmp 대신사용하는 (C/C++ 언어용) 긴 자리 수치 처리를 위한 기본 연산 라이브러리이다. 자리수가 매우 긴 정수, 유리수, 소수점수를 계산할 수 있다. 2. xmpir 은 (C 언어용 긴 자리 수치 라이브러리인) mpir 의 래퍼(wrapper) 이다. 3. xmpir 은 xmpir 다운로드 에서 구할 수 있다. (주의 사항. dl4windows.dll 파일이 존재하는 폴더의 경로명에 #문자가 있으면 컴파일은 되나 실행 시에 에러에 걸린다. 그 이유는 xmpir 이 dl4windows.dll 파일을 찾을 때 URL 주소를 적용해서 찾기 때문이다.) 실행에 필요한 *.dll 파일들은 (현재 경로 또는) 환경변수 PATH 에 결린 경로의 폴더에 존재해야 한다. dl4windows.dl..

프로그래밍/C# 2013.01.24

C# 언어로 평방근, 입방근, n제곱근 구하는 함수를 구현하고 테스트하기

음이 아닌 실수 A 의 평방근 sqrt(A) 를 구하는 Heron 의 방법: 반복함수 g(x) = (x + A/x) / 2 를 이용 실수 A 의 n제곱근 root(n, A) 를 구하는 Newton-Raphson 의 방법 반복함수 g(x) = ((n-1)*x + A/(x**(n - 1))) / n 를 이용 n = 2 인 경우에는 Newton-Raphson 의 방법이 Heron 의 방법과 동일하다. (참조. http://en.wikipedia.org/wiki/Newton's_method ) C# 언어에는 System 모듈에 지수 계산 함수 Math.Pow(double, double) 가 이미 구현되어 있다. 하지만 차후 필요한 데가 있을 것 같아서 이와 유사한 n 제곱 함수와 n 제곱근 함수를 구현해 보았다..

프로그래밍/C# 2013.01.11

C# 언어로 역삼각함수, 역쌍곡선함수 값을 구하는 예제

역삼각함수란 삼각함수의 역함수를 의미하고, 역쌍곡선함수란 쌍곡선함수의 역함수를 의미한다. 수학에서 sin 함수의 역함수는 arcsin 으로 표기되는데, C# 언어에서는 Math.Asin 함수로 구현되어 있다. 아래의 소스는 Visual C# 으로 컴파일되는 소스이다. /* * Filename: testArcSine.cs * * Compile: csc testArcSine.cs /reference:System.Numerics.dll * Execute: testArcSine * * Date: 2013. 1. 1. * Copyright (c) pkim _AT_ scripts.pe.kr */ using System; using System.Numerics; namespace ExperimentConsole { ..

프로그래밍/C# 2013.01.01

C# 웹 프로그래밍에서 CodeBehind와 CodeFile의 차이점

CodeBehind = ASP.NET 처음부터 있던 것. 이는 실행되기 이전에 먼저 컴파일되어야 하며, 컴파일되면 *.dll 파일은 bin 폴더에 생성된다. 배포(deploy)하기 전에 반드시 먼저 Visual Studio에서 컴파일되어야 한다. 고객에게 소스를 제공하고 싶지 않을 때는 CodeBehind을 사용한다. 배포할 때는 *.aspx 파일과 *.dll 파일, Web.config 파일 등(*.aspx.cs 파일과 *.aspx.vb 파일은 제외)만 제공하면 된다. CodeFile = ASP.NET 2.0 부터 등장한 것. 개발한 것을 배포할 때는 소스 파일(*.aspx.vb 또는 *.aspx.cs 파일)도 함께 (*.dll 파일은 불포함) 제공해야 한다. ASP.NET 2.0 런타임이 필요시 마다 ..

프로그래밍/C# 2012.04.12

C# 과 근사공식을 이용한 PI/sqrt(12) 의 근사값 계산

근사 공식 \frac{\pi}{\sqrt{12}} = \sum^\infty_{k=0} \frac{(-3)^{-k}}{2k+1} 을 이용하여 근사값 계산하는 프로그램을 C# 언어로 작성해 보았다. /* * Filename: ApproximatePiOverSqrt12.cs * * Compile: csc ApproximatePiOverSqrt12.cs * Execute: ApproximatePiOverSqrt12 */ using System; public class ApproximatePiOverSqrt12 { /* Using the series: \frac{\pi}{\sqrt{12}} = \sum^\infty_{k=0} \frac{(-3)^{-k}}{2k+1} BND : 급수에서 합할 항의 개수 */ pub..

프로그래밍/C# 2012.01.21

C# 용 선형대수 & 수치해석 라이브러리 ALGLIB를 이용한 예제 테스트하기

1. 다운로드 http://www.alglib.net/ 에서 C#용 라이브러리 소스를 다운로드한다. 2. 다운로드한 파일의 압축을 적당한 디렉토리에 푼다. 3. 그 디렉토리로 가서 빌드한다. (옵션은 csc 와 mono 중에 택 1) build csc (빌드가 끝나면 out 디렉토리에 libalglib.dll 파일이 생성되어 있을 것이다.) 4. 빌드 후 테스트 (옵션은 csc 와 mono 중에 택 1) check csc all 5. 개별 테스트 (옵션 /reference 를 이용하여 dll 파일을 지정한다.) cd examples csc _demo_rcond_1.cs /reference:..\out\libalglib.dll _demo_rcond_1 csc _demo_ode_example1.cs /ref..

프로그래밍/C# 2010.07.02

스트링 리스트에서 스트링 찾기(find) with C#

[파일명: TestStringFindInList.cs]------------------------------------------------ using System; using System.Collections; using System.Collections.Generic; namespace MyTestApplication1 { class TestStringFindInList { public static void Main(String[] args) { List words = new List(new String[] { "하나", "둘", "셋", "넷", "다섯", "여섯" }); int where; Console.Write("list: "); PrintArray(words); where = Find(wor..

프로그래밍/C# 2009.04.27

스트링 배열에서 스트링 찾기(find) with C#

[파일명: TestStringFindApp.cs]------------------------------------------------ using System; using System.Collections; using System.Collections.Generic; namespace MyTestApplication1 { class TestStringFindApp { public static void Main(String[] args) { String[] words = new String[] { "하나", "둘", "셋", "넷", "다섯", "여섯" }; int where; Console.Write("array: "); PrintArray(words); where = Find(words, "셋"); i..

프로그래밍/C# 2009.04.27