소수점을 제거하는 연산이 필요할 때 Floor(), Ceiling() [일부 언어에서는 Ceil() 로 제공하기도 한다.] 이렇게 두 함수가 존재한다.

결과를 보면 모든 설명이 될 것으로 보인다.
귀찮아서 MSDN 결과 긁었다. (-_-;;)

Ceiling:
Ceiling(0.00) = 0
Ceiling(0.10) = 1
Ceiling(0.20) = 1
Ceiling(0.30) = 1
Ceiling(0.40) = 1
Ceiling(0.50) = 1
Ceiling(0.60) = 1
Ceiling(0.70) = 1
Ceiling(0.80) = 1
Ceiling(0.90) = 1
Ceiling(1.00) = 1
Ceiling(1.10) = 2

Floor:
Floor(2.10) = 2
Floor(2.00) = 2
Floor(1.90) = 1
Floor(1.80) = 1
Floor(1.70) = 1
Floor(1.60) = 1
Floor(1.50) = 1
Floor(1.40) = 1
Floor(1.30) = 1
Floor(1.20) = 1
Floor(1.10) = 1
Floor(1.00) = 0

Ceiling 은 보통 웹에서 게시물이 몇 페이지인지 연산할 때 쓰인다고 한다.

지금은 주파수 영역 분석 알고리즘에 쓰고 있지만.... 이건 특수한거니 패스~

이올린에 북마크하기(0) 이올린에 추천하기(0)
2008/09/18 16:18 2008/09/18 16:18
Posted by TylorSTYLE™
포인터란 무엇인가.

큰 의미는 없다.

주소만 알면 직접 찾아가서 물건을 전달하거나 받아오는 오토바이 택배?

& > 주소연산자 가 뜨면 택배기사에게 갈 주소를 알려주고.
* > 별 연산자가 뜨면 택배 기사 출발! 물건을 전달하거나 받아오는 것.

아이들에게 강의했을 때 이 비유로 설명했던게 이해하기 편한 설명이었던 것 같다.

이 이야기로 더블이 되었든 따따블 포인터까지도 걍 설명이 되니 말이다.

호스팅 연장 기념 첫글은 이상!
이올린에 북마크하기(0) 이올린에 추천하기(0)
2008/08/26 02:16 2008/08/26 02:16
Posted by TylorSTYLE™
소프트웨어를 이용하여 아이피를 변경하기 위한 방법은 몇가지가 있지만 제일 쉽고 빠르고 편리한 것은 커멘드쉘 명령을 보이지않게 때려넣는 방밥이다.

그 방법으로 사용되는 명령이 바로 netsh 이며, 일반 Microsoft Windows 2000 이상의 OS 에서는 전혀 무리없이 동작한다.

하지만 특수 환경. Embedded XP 와 같이 특수한 환경에서는 아래의 내용을 참고하기 바란다.



Embedded XP 에서 netsh interface ip 명령으로 아이피 변경을 하기 위해서는 다음의 컴포넌트가 필요하다.

만약 이 컴포넌트를 추가하지 않았다면 interface 명령을 사용할 수 없다.

Network Command Shell Interface Context

그 외 bridge, diag, ras 또한 컴포넌트가 없으면 명령을 사용할 수 없으니 다음 페이지를 참고하기 바란다.

http://msdn2.microsoft.com/en-us/library/ms838602.aspx
이올린에 북마크하기(0) 이올린에 추천하기(0)
2008/04/27 19:43 2008/04/27 19:43
Posted by TylorSTYLE™

이 코드는 C# 에서 Paradox db 를 접근하기 위한 쿼리 함수이다.

paradox 는 오랫동안 사용되어온 파일 데이터베이스의 대표주자이고, 라이선스 또한 무료이기 때문에 많은 사랑을 받아왔다.  주로 볼랜드의 BDE 를 통해 많이 사용되어 왔다.

업무상 Paradox 데이터베이스를 다른 형태로 변환할 일이 생겨 인터넷을 뒤적거리며 조각조각 모아 맞춘 코드이다. (국내 커뮤니티에 나와 같은 고민을 한 사람들이 있었지만 코드로 답을 얻지 못하였다.)

아래 코드는 참고용이며, 결과가 DataSet 으로 나오니 알아서들 가공이 가능할 것이라 생각된다.

핵심은 ODBC DSN-Less 라는 점이며, 접속 문자열 부분에서 띄어쓰기라도 일부 틀리면 오류를 마구 토해버리기 때문에 띄어쓰기 오타에 주의하기 바란다.

다른 형식의 데이터베이스의 접속 문자열은 아래 링크를 참고하길 바란다.

http://www.codemaker.co.uk/it/tips/ado_conn.htm


또 이 코드는 접속이 되나 테스트 단계에서 작성된 코드이므로 오류처리나 그런 것들은 알아서들 붙이기 바란다.

private DataSet procDataBaseQuery(string QueryString)
{
    DataSet dsResult = new DataSet();

    string connectionString = "Driver={Microsoft Paradox Driver (*.db )}; DriverID=538; Fil=Paradox 5.X; DefaultDir=c:/dpaexp/db; CollatingSequence=ASCII";

    using (OdbcConnection connection = new OdbcConnection(connectionString))
    {
        OdbcDataAdapter adp = new OdbcDataAdapter(QueryString, connection);

        connection.Open();

        adp.Fill(dsResult);

        connection.Close();
    }

    return dsResult;
}


※ 추가내용

Microsoft Jet Database Engine 은 Paradox 를 접근할 수 있도록 되어있지만 읽기 전용이다.

또 Paradox 를 문안하게 사용하기 위해서는 는 BDE(Borland Database Engine) 을 설치해야 한다.

 만약 BDE 가 설치되어있지 않을 경우 접속 문자열에 추가적인 옵션이 필요하나, BDE 설치없이 접근하는 방법은 성공하지 못했다.

BDE 가 설치되어있지 않을 경우 계속 [HY000] [Microsoft] [ODBC Paradox Driver] 어쩌고 하는 오류가 발생된다.

이올린에 북마크하기(0) 이올린에 추천하기(0)
2008/03/27 13:43 2008/03/27 13:43
Posted by TylorSTYLE™
RS232, RS422, RS485 통신은 산업현장에서 많이 쓰이는 통신 방식이다.
방식에 따라 각각 차이가 있지만, 일단 신뢰성 높은 통신이기 때문에 많이 사용한다.

각 통신방식에 따라 내 경험을 담아 써보겠다.

일단 전기적 특성 및 하드웨어적인 측면도 있지만, 일부만 다룬다.

※ RS232
PC 에서 일반적으로 시리얼 포트라 부른다.
각각 신호선에 대한 부분은 네이놈 지식인에 있으니 그걸 참고하길 바란다. ( 시간나면 나중에 자세한 자료를 올릴 생각이다. )
* RS232 의 특징은 빠른 속도의 양방향 통신(전이중)과 높은 신뢰성에 있다.
* 1 : 1 통신이다.
* 속도는 115200 bps 까지 ( 그 이상도 사용할 수 있지만 일반적으로 이 속도를 최속으로 말한다. )
* 거리는 통상 10 M 이내 에서 사용하도록 규정하고 있다.
* 하드웨어 설계시에는 UART 에 MAX232 또는 SP232 칩을 사용하면 된다.
* 고속 통신시 거리가 조금 멀 경우 신호선을 모두 다 써주는 것이 더 안정적이나 양측에서 흐름제어를 해야 한다. (PC 프로그래밍의 경우 이 부분은 간단한 설정으로 해결할 수 있다.)
* 실무에서 알려진 기록으로는 20 M 까지 정상적인 통신이 가능했다라는 자료가 있다.  단, 속도를 9600 bps 이하로 했고, 오류처리(오류 데이터 검사 및 재전송 요구)를 했다는 조건이다.

※ RS422, 485 공통
PC에서 사용할 경우 232 To 422,485 컨버터를 사용하여야 한다.
* 속도는 일반적으로 9600 bps 를 사용한다. ( PC 가 아닌 마이컴으로 동작하는 산업용 장비에 물리는 경우가 많아 빠른 데이터 처리를 할 경우 마이컴의 프로그램 수행에 무리를 줄 수 있다. - 이 이상 못한다는 것은 아니다. 빠른속도의 마이컴은 처리할 수 있다. )
* 1 : n 통신이 가능하다.
* 거리는 약 1 Km 정도 된다고 하며 그 이상도 가능하다는 기록이 있다. ( 난 그렇게 먼 거리로 통신해 본적은 없다. )
*  데이터 측정시 각각의 +, - 라인을 스코프로 찍어보면 된다.
* RS422 의 특징은 노이즈(통신라인 주변의 전력선이나 노이즈를 발생시킬 수 있는 장치-모터)에 강한편에 속하는 통신방식이며, + - 두 극간의 전압차를 이용해 데이터를 보낸다.
* 현장에 오실로스코프가 있다면 라인을 꼭 측정해보도록 한다. 데이터가 없는데 라인의 신호가 신나게 춤준다면 종단저항의 문제이다. 10Kohm  의 종단저항을 +, - 에 물린다면 노이즈를 해결할 수도 있다. (종단저항은 보통 통신라인의 양 끝단에 물려줘야 하며, 컨버터가 종단저항을 가지고 있지 않은 경우도 많다.)

※ RS422
* 양방향 통신이 가능하다.

※ RS485
* 단방향 통신(무전기를 생각하면 된다)

※ RS232 - RS422/485 컨버터 사용시 주의할 점.
* 시스템베이스(SYSTEM BASE) 사의 컨버터가 제일 사용하기 무난하며, 자동 RTS 전환이 된다는 점. 단, 다른 컨버터와 혼용해서 사용할 경우 RTS 처리부분에서 문제가 발생할 수 있다. 다른 컨버터에 비해 가격이 비싸다는점이 단점.
* 소프트웨어 개발 시 컨버터의 RTS 자동 처리를 100% 믿어서는 안된다. 수동으로 해야 한다. 이 부분만 잘 해준다면 싸구려 컨버터도 매우 잘 동작해준다.
- 많은 소프트웨어 개발자들이 신호특성을 모르고 소켓통신처럼 때리면 나간다란 생각을 가지고 있는데, 절대 아니다. 장비의 펌웨어 또는 PC 소프트웨어의 잘못된 코딩으로 인해 때려도 안나갈 수도 있고, 데이터가 프로그램 버그나 통신라인의 불안정한 전압 문제로 안나갈 수 있다.
이올린에 북마크하기(0) 이올린에 추천하기(0)
2006/12/14 02:05 2006/12/14 02:05
Posted by TylorSTYLE™

BLOG main image

카테고리

전체 (72)
SAMSUNG MCU (14)
Embedded Linux (5)
Mac OS X (4)
신변잡기 (28)
디지털 회로 (1)
Programming (8)
무선 네트워크 (7)
Computer (2)

글 보관함

Total : 23832
Today : 59 Yesterday : 90