PHP 개발 시 주의해야 할 주요 함정 및 보안 이슈

1. 부동소수점 연산의 정밀도 한계 PHP에서 부동소수점 값을 직접 등호 연산자로 비교하는 것은 위험합니다. 예를 들어 0.1 + 0.2 === 0.3 연산은 false를 반환합니다. 이는 IEEE 754 표준이 대부분의 십진수를 유한한 이진수열로 완벽히 표현하지 못하기 때문입니다. 정확한 비교가 필요한 경우 BCMath 확장의 bccomp()를 활용해야 합니다. $valA = 0.1 + 0.2; $valB = 0. ...

8월 21일 10:31에 게시됨

C 언어 메모리 구조 분석: 정수, 바이트 오더, 부동소수점 저장 방식

1. 정수의 메모리 저장 방식 정수는 이진수로 표현될 때 원코드(부호-크기), 1의 보수, 2의 보수 세 가지 형태를 가집니다. 이 세 방식 모두 최상위 비트(MSB)는 부호 비트로 사용되며, 0은 양수, 1은 음수를 나타냅니다. 나머지 비트는 실제 수치 값을 표현합니다. 양수: 원코드, 1의 보수, 2의 보수가 모두 동일합니다. 음수: 세 가지 표현 방식이 서로 다릅니다. 원코 ...

7월 21일 21:39에 게시됨

C 언어 - 정수와 부동소수점 수의 메모리 저장 방식 (도해 설명)

서론: 정수의 이진 표현 방식에는 세 가지가 있습니다: 원코드(원형), 역코드(반전), 보수코드(보수). 부호 있는 정수의 세 가지 표현 방식 모두 부호 비트와 값 비트 두 부분으로 구성됩니다. 2진수 시퀀스에서 최상위 1비트는 부호 비트로 사용되며, 나머지는 모두 값 비트입니다. 부호 비트는 양수를 "0"으로, 음수를 "1"로 표현합니다. 원코드: ...

6월 24일 02:23에 게시됨