|
강재호 님이 쓰신 글 :
: 안녕하세요
:
: 만해랍니다
:
: 오늘도 즐프 하시고요~
:
: 제가 여쭈볼 내용은
:
: 지금 제가 우리나라 ISP에 할당된 IP를 인터넷에서 받아와서
:
: DB에 저장 시키는거 하나 짜고 있는데요
:
: IP를 저장 시키는데 까지는 문제가 없는데
:
: 나중에 Ip를 가지고 검색할때를 위해서
:
: IP를 unsigned long int 형으로 변환을 했습니다.
:
: 그런데 그걸 DB에 저장을 시키니깐 전부 마이너스 값으로 되어 나와요~
:
: Db는 Paradox7 형이고 자료형태는 Long Int인데요
:
: unsigned long int 형으로 자료를 저장 시키는 방법은 없나요?
:
: 저장된 값이 전부 마이너스니 나중에 DB에서 빼올때도 마이너스값으로 가져올것 같은데~
:
: 흑~
:
: 필드 값은 실수형으로 바꿔 볼까?
:
: 고수님들의 조언 부탁 드립니다.
:
: 참고로 숫자 범위는
:
: 0에서부터 255*255*255*255 까지 입니다~
:
: 그럼 이만
:
유엔아이 현입니다.
마이스너스로 나오는건 당연한것 입니다.
그값 자체는 ip 어드레스가 맞으니 필드 타입을 바꾸실필요는 없구요~
Signed Long int 형이므로 최상위비트 1 비트가 부호 비트로 작용하여 나오는 현상이며
일반적으로 국내에 할당덴 IP 어드래스가 2xx.xxx.xxx.0 의 어드래스가 많아서
생기는 현상일뿐입니다.
IP Address 는 unsigned Long int 형으로 잡아야 하나 디비에서 지원 하지 않는 다면
구냥 long 형으로 잡으시고 디비에서 일어 오실때 unsigned long int 형으로 캐스트 연산을
해주시면 별 문제 없구요~ 또 반대로 검색을 하실때는 signed long int 형으로 캐스트 연산
을 하셔서 검색 하시면 될것 입니다.
그럼
|