Q&A

  • 홀수 패리티(odd parity) 계산 방식을 알고 싶습니다.
특정 일련번호에 대하여 전체 ASCII 코드값에 대한 odd parity 를 적용함,

즉, 시리얼 넘버(9자리의 16진수) 값의 parity 에 따라 "0" 또는 "1" 을 붙임..

예) 000000019(0)
     00000007F(1)
     000000096(1)
     000000262(1)

()안에 있는것이 홀수 패리티 값..


이걸 함수로 만들어야 하는데 ㅡㅡ; 하다하다 머리가 딸려서 못하겠습니다.

될듯 말듯 하다 오류나고...

간단하게 할수 있는 방법이 있으면 조언좀 부탁드립니다.

2  COMMENTS
  • Profile
    최용일 2007.08.25 00:58
    안녕하세요. 최용일입니다.

    홀수 패리티 계산하는것은 아주 간단합니다. 2진수로 표시했을때 1로 셋팅된 비트의 갯수를 세어서 홀수면 0, 짝수면 1로 패리티를 셋팅하시면 됩니다.

    예를 들어서 아스키 '0'은 십진수 48, 십육진수 $30입니다.  이진수로 표시하면 0110 0000B이죠. 패리티를 세면 2, '1'은 십진수 49, 십육진수 $31, 이진수 0110 0001B, 패리티 3, '9'는 십진수 57, 십육진수 $39, 이진수 0110 1001B, 패리티 4

    000000019는 패리티가 2 2 2 2 2 2 2 3 4 이고 합은 21 이므로 홀수 패리티는 0

    <!--CodeS-->
    function OddParity(const Source: string): string;
    const
      ParityCounts: array[0..15] of Integer = (
        0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4);
    var
      Index, Count: Integer;
    begin
      Result := '0';
      Count := 0;
      for Index := 1 to Length(Source) do
      begin
        Inc(Count, ParityCounts[Byte(Source[Index]) and $0F]);
        Inc(Count, ParityCounts[(Byte(Source[Index]) and $F0) shr 4]);
      end;
      if (Count mod 2) = 0 then
        Result := '1';
    end;

    procedure TfrmPWMain.Button1Click(Sender: TObject);
    const
      Source: array[0..3] of string = ('000000019', '00000007F', '000000096', '000000262');
    var
      Index: Integer;
    begin
      for Index := 0 to 3 do
        ShowMessage('Source: ' + Source[Index] + '  Parrity:' + OddParity(Source[Index]));
    end;
    <!--CodeE-->

    ^^ 항상 즐코하세요...

  • Profile
    유승혁 2007.08.28 21:08

    ^^ 감사합니다. 좋은 하루 되세요
    • 김세령
    • 2007.09.03 20:55
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 박찬우
      2007.09.11 22:36
      FindComponent 를 이용해보세요. for vv_i = 1 ; ...... begin if (FindComponent('AAA'+inttos...
    • JJU.M
      2007.09.04 01:22
      컴포넌트를 동적 생성할때 생생된 컴포넌트를 잘 관리 하는 구조를 만들어 놓는다면은 나중에 그 정보...
    • 김세령
      2007.09.07 19:23
      답변 정말 감사합니다. 근대 질문 또한 DB에서 불러와 질문 갯수만큼 TLabel 컴포넌트를 동적으로 생성...
    • 마이크로김
      2007.09.03 20:28
      windows 제공하는 거 사용하셔도 잘되는데요.....
    • 이두화
    • 2007.09.01 06:09
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 정선영
    • 2007.08.31 20:06
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 정희영
      2007.09.01 21:52
      PPP6900R.QuickRep1.PreviewModal;
    • 신철우
    • 2007.08.30 21:35
    • 0 COMMENTS
    • /
    • 0 LIKES
    • Elpira
    • 2007.08.30 07:27
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 정희영
      2007.09.01 20:13
      cardtbl 와 CATDTBL 스펠링이 틀려서 아닌가요?
    • Elpira
      2007.09.03 08:09
      if 문안으로는 들어옵니다.. 단지 CARD_IMAGE를 못찾아요.. 철자나 대소문자는 이상이 없고 다른데서는 다...
    • 로마네꽁띠
      2007.09.06 01:47
      mdb 파일 자체가 느려서 insert 후에 바로 찾는거는 느려서 못 찾는 경우가 있더라고요 아마도 제 생각에...
    • 로마네꽁띠
      2007.09.06 01:50
      DB파일이 mdb였는데 요놈이 문제였네요.. 느려서 때때로 insert후에 바로 query 응답 못하는 경우였네요 ^...
    • 윤병길
    • 2007.08.29 18:57
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 가가멜
      2007.09.24 11:39
      http://www.esanu.name/delphi/DLL/Calling%20delphi%20DLL%20from%20MS%20Visual%20C.html 구글에서 검...
    • 하얀까마귀
      2007.08.28 15:48
      밑에 답변처럼 구현방법등은 강좌를 참고하시면 될듯 하구요 간단히 말씀드릴수 있는 부분이 아니네요.. ...
    • 바람의아빠
      2007.08.29 04:07
      답변 감사드립니다.. 여러가지 개념 잡는데 많은 도움이 되엇습니다. DroopyEyes 홈페이지에가서 다...
    • 구창민
      2007.08.28 03:36
      안녕하세요.. 델파이코리아(www.delphikorea.com)에 가셔서 강좌란에서 '녹음' 이런단어로 검색해보...
    • 바람의아빠
      2007.08.29 04:07
      답변 감사드립니다. 많은 도움이 되엇네요.
    • 인레인
    • 2007.08.27 20:54
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김도성
    • 2007.08.27 19:51
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김도성
      2007.08.27 23:38
      Unit파일에 CreateParam이라는 윈도우메세지가 들어있었어용 ㅠ_ㅠ
    • 최시원
    • 2007.08.27 19:34
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2007.08.28 15:53
      아마 이 문법자체를 몰라서 질문을 올리신것 같네요.. 이건 배열을 정의하고 aaa : array[0..23,0..1...
    • 구창민
      2007.08.28 03:38
      안녕하세요.. 질문이 뭔질 모르겠네요.. 배열생성시 그 배열들에 값을 대입하는 문장이네요.. 어떻...
    • 구창민
      2007.08.28 03:42
      안녕하세요.. TList 를 말씀하시는 거 같네요.. 관련내용은 델파이 커뮤니티 사이트의 강좌란 및 팁 ...
    • 정희영
    • 2007.08.25 21:51
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 정희영
      2007.09.01 20:10
      ADO를 이용하니 잘되는군요... BDE에서 NVARCHAR 등의 타입이 제대로 지원되지 않았습니다. 그럼 좋은 하...
    • 유승혁
    • 2007.08.24 20:50
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2007.08.25 00:58
      안녕하세요. 최용일입니다. 홀수 패리티 계산하는것은 아주 간단합니다. 2진수로 표시했을때 1로 셋팅된...
    • 유승혁
      2007.08.28 21:08
      ^^ 감사합니다. 좋은 하루 되세요
    • 박병규
    • 2007.08.23 22:27
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박찬우
      2007.09.11 22:42
      정말 난감한 상황이시네요.... 별수있나요 걍 dcu파일 어디에 있는지 다 찾아봐야져.. dcu파일은 ...
    • 장영아
    • 2007.08.23 19:01
    • 0 COMMENTS
    • /
    • 0 LIKES
    • Crazy™
    • 2007.08.23 10:54
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 최우진
    • 2007.08.23 09:21
    • 1 COMMENTS
    • /
    • 0 LIKES
    • Crazy™
      2007.08.23 10:56
      프로퍼티에서 GroupFooter 를 True 시키고 GroupHeader 부분에 해당 컬럼을 올려보세요.. 그리고 해당 컬...