regina Mon Feb 5 23:14:16 2001 EDT Modified files: /phpdoc/kr/language types.xml Log: PR: done!! Submitted by: Reviewed by: Obtained from:
Index: phpdoc/kr/language/types.xml diff -u phpdoc/kr/language/types.xml:1.2 phpdoc/kr/language/types.xml:1.3 --- phpdoc/kr/language/types.xml:1.2 Wed Jan 31 17:27:00 2001 +++ phpdoc/kr/language/types.xml Mon Feb 5 23:14:16 2001 @@ -1,4 +1,3 @@ -<!-- edited with XML Spy v3.0.7 NT (http://www.xmlspy.com) by panda (bra) --> <chapter id="language.types"> <title>변수 형태 (Types)</title> <para> @@ -56,7 +55,7 @@ $a = 0x12; # 16진수 (십진수 18과 같음) </programlisting> </informalexample> - 정수의 크기는 실행환경에따라 다르다(platform-dependent). + 정수의 크기는 실행환경에 따라 다르다(platform-dependent). 보통 최대값이 약 20억(32 bits signed)인 경우가 많다. </para> </sect1> @@ -74,26 +73,22 @@ </para> <warning id="warn.float-precision"> <para> - It is quite usual that simple decimal fractions like - <literal>0.1</literal> or <literal>0.7</literal> cannot be - converted into their internal binary counterparts without a - little loss of precision. This can lead to confusing results: for - example, <literal>floor((0.1+0.7)*10)</literal> will usually - return <literal>7</literal> instead of the expected - <literal>8</literal> as the result of the internal representation - really being something like <literal>7.9999999999...</literal>. + 여기서 <literal>0.1</literal> 이나 <literal>0.7</literal>같은 단순한 +소수값이 + PHP 내부에 저장될 때 아주 약간의 그 값에 오차가 생길 수 +있다는 것을 알아야 한다. + 문제는 그 작은 오차로 인해 다음의 예와 같은 명백히 +잘못된 결과가 나올 수도 있다는 점이다. : + <literal>floor((0.1+0.7)*10)</literal>의 식은 일반적인 실행 +환경에서는 <literal>8</literal>이 아닌 + <literal>7</literal>을 반환한다. 함수의 괄호안에 있는 값이 +<literal>7.9999999999...</literal>가 되기 때문이다. </para> <para> 이는 유한한 십진수로 분수를 정확하게 표현하기 불가는 하다는 것과 일맥상통한다. - 예를 들자면 분수 -<literal>1/3</literal> 을 십진수로 표현하자면 -<literal>0.3333333. . .</literal>이 된다. + 예를 들자면 분수 <literal>1/3</literal> 을 십진수로 표현하자면 +<literal>0.3333333. . .</literal>이 된다. </para> <para> - So never trust floating number results to the last digit and - never compare floating point numbers for equality. If you really - need higher precision, you should use the <link linkend="ref.bc">arbitrary precision math functions</link> - or <link linkend="ref.gmp">gmp</link> functions instead. + 따라서 실수 결과값에 대해서는 마지막 자리의 값을 믿지 +말도록 하고, + 실수끼리는 = 등의 '같다' 비교를 하지 않도록 하자. + 만약 여러분이 좀더 높은 정밀도를 필요로 한다면 + <link linkend="ref.bc">arbitrary precision math functions</link> 이나 + <link linkend="ref.gmp">gmp</link>에 있는 함수들을 사용하기 바란다. </para> </warning> </sect1> @@ -490,19 +485,19 @@ </sect2> </sect1> <sect1 id="language.types.type-juggling"> - <title>형 다루기 (Type juggling)</title> + <title>뱐수형 다루기 (Type juggling)</title> <simpara> PHP에서는 변수형을 명확하게 선언할 필요도 없고, 변수형 선언이 제공되지도 않는다. 변수의 type은 구문내에서 사용되어질때 결정된다. - 다시말해 변수<parameter>var</parameter>에 문자열을 할당(assign)하면, 변수 + 다시말해 변수<parameter>var</parameter>에 문자열을 대입하면, 변수 <parameter>var</parameter> 의 형은 문자열이 되고, 변수 -<parameter>var</parameter>에 정수를 할당(assign)하면 정수형 변수가 된다 + <parameter>var</parameter>에 정수값을 대입하면 정수형 변수가 된다 </simpara> <para> PHP의 자동형변환에 대한 예는 '+'연산자에 대한 역활을 보면 알수 있다. - '+'연산자가 사용된 연산식중 하나의 피연산자가 double형이라면 다른 피연산자들도 + '+'연산자가 사용된 연산 중에 하나의 피연산자가 +double형이라면 다른 피연산자들도 double형으로 계산되어 결과는 double형이 된다. 마찬가지로 하나의 피연산자가 - 정수형이라면 그 결과도 정수형이 된다. 여기서 주의해야 할것은 하나의 피연자에 의해 - 다른 피연산자의 형이 바뀌는 것이 아니라 단지 그 결과값에만 영향을 미친다. + 정수형이라면 그 결과도 정수형이 된다. 여기서 주의해야 할 +것은 어떤 피연자에 의해 + 다른 피연산자의 형이 바뀌는 것이 아니라, 단지 그 결과값의 +형을 결정하는 데에만 영향을 미친다는 것이다. <informalexample> <programlisting role="php"> $foo = "0"; // $foo 는 문자열 변수 (ASCII 48) @@ -518,14 +513,15 @@ <link linkend="language.types.string.conversion">문자열 변환(String conversion)</link>을 참조하기 바란다. </simpara> - <simpara> 변수가 특정한 형(type)으로 계산되어지게 하고자할 경우 + <simpara> 변수를 특정한 형(type)으로 취급되도록 +하고자 할 경우 <link linkend="language.types.typecasting">Type - casting</link>을 참조하고, 변수의 형을 변환시카고자 할 경우는 + casting</link>을 참조하고, 변수의 형을 변환시키려고 한다면 <function>settype</function>을 참조하기 바란다. </simpara> <para> - 이 섹션에의 예제를 테스트 해보고자 한다면, 예제를 php file에 복사하고 - 아래의 문장을 써준다면 어떻게 변수형이 변하는지 확인해 볼수 있을것이다. + 만약 위의 예제를 실제 실험하고자 한다면, + 위의 예제를 잘라 붙인 후에, 어떤 일이 일어났는 가를 알기 +위해 + 아래의 문장을 삽입하여 살펴볼 수 있다. <informalexample> <programlisting role="php"> echo "\$foo==$foo; type is " . gettype ($foo) . "<br>\n"; @@ -534,7 +530,7 @@ </para> <note> <para> - 배열에서의 자동 형변환은 통상적으로 정의되어져 있지 않다. + 배열로의 자동 형변환은 일반적으로 정의되어 있지 않다. <informalexample> <programlisting role="php"> $a = 1; // $a 는 정수형이다 @@ -552,20 +548,21 @@ </informalexample> </para> <para> - PHP에서 배열의 인덱스(index)와 같은 오프셋(offset)을 이용한 인덱스(index)를 - 문자열 변수에도 사용할 수 있다. 따라서 위의 예는 다음과 같은 문제를 안고 있다.: + PHP에서는 배열의 인덱스(index)와 동일한 형태를 사용하여, + 문자열 변수에 오프셋(offset)을 이용한 인덱스(index)를 사용할 +수 있다. + 따라서 위의 예는 다음과 같은 문제를 안고 있다.: $a가 첫번째 요소가 "f"인 배열인가? "f"가 문자열 변수 $a의 첫번째 문자가 되어야 하는가? </para> <para> - 이러한 이유로, PHP 3.0.12 and PHP 4.0b3-RC4에서 위와 같은 경우의 + 이러한 이유로, PHP 3.0.12 와 PHP 4.0b3-RC4에서 위와 같은 경우의 자동 형 변환은 정의되어 있지 않다고 한다. 이에 대한 정확한 정의는 논의 되어 질것이다. </para> </note> <sect2 id="language.types.typecasting"> - <title>형 적용(Type Casting)</title> + <title>변수형 적용(Type Casting)</title> <para> - PHP에서 형적용(type casting)은 C language에서와 매우 유사하다. + PHP에서 변수형 적용(type casting)은 C language에서와 매우 +유사하다. 원하는 타입을 적용(casting)되어지는 변수앞에 괄호로 묶어서 써 주기만 하면 된다. <informalexample> <programlisting role="php"> @@ -647,4 +644,4 @@ sgml-local-catalogs:nil sgml-local-ecat-files:nil End: ---> +--> \ No newline at end of file