<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Strange result using lt comparison operator in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Strange-result-using-lt-comparison-operator/m-p/216719#M39930</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Use the HEX16. format to look at how these two different numbers end up getting stored into the 8 byte IEEE floating point format.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data aa;&lt;/P&gt;&lt;P&gt;x=1.2;&lt;/P&gt;&lt;P&gt;y=(1.1+1*0.1);&lt;/P&gt;&lt;P&gt;put&amp;nbsp; (x y) (= hex16. /) ;&lt;/P&gt;&lt;P&gt;x=round(x,0.1);&lt;/P&gt;&lt;P&gt;y=round(y,0.1);&lt;/P&gt;&lt;P&gt;put / (x y) (= hex16. /) ;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;x=3FF3333333333333&lt;/P&gt;&lt;P&gt;y=3FF3333333333334&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x=3FF3333333333333&lt;/P&gt;&lt;P&gt;y=3FF3333333333333&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 04 Aug 2015 20:50:25 GMT</pubDate>
    <dc:creator>Tom</dc:creator>
    <dc:date>2015-08-04T20:50:25Z</dc:date>
    <item>
      <title>Strange result using lt comparison operator</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Strange-result-using-lt-comparison-operator/m-p/216717#M39928</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #000080; font-size: 10pt; font-family: Courier New;"&gt;Hi There,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000080; font-size: 10pt; font-family: Courier New;"&gt;If I run the below data step I see SAS behaving in strange manner. Variable y resolves to 1.2. SAS thinks x(1.2) is less than y. Any help will be appreciated.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000080; font-size: 10pt; font-family: Courier New;"&gt;Thanks,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000080; font-size: 10pt; font-family: Courier New;"&gt;Santosh&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data aa;&lt;/P&gt;&lt;P&gt;x=1.2;&lt;BR /&gt;y=(1.1+1*0.1);&lt;BR /&gt;if x&amp;lt;y then Confused="Yes";&lt;BR /&gt;else Confused="No";&lt;BR /&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Aug 2015 18:40:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Strange-result-using-lt-comparison-operator/m-p/216717#M39928</guid>
      <dc:creator>SP_SAS</dc:creator>
      <dc:date>2015-08-04T18:40:18Z</dc:date>
    </item>
    <item>
      <title>Re: Strange result using lt comparison operator</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Strange-result-using-lt-comparison-operator/m-p/216718#M39929</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;SAS numbers are represented internally by floating point values. 1.2 doesn't have an exact representation as a floating point number, so its internal value is an approximation. That approximation will take different values depending on how it was arrived at. Add the following statements and see what happens&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;if round(x, 0.1) &amp;lt; round(y, 0.1) then RoundConfused="Yes";&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;else RoundConfused="No";&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PG&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Aug 2015 19:12:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Strange-result-using-lt-comparison-operator/m-p/216718#M39929</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2015-08-04T19:12:24Z</dc:date>
    </item>
    <item>
      <title>Re: Strange result using lt comparison operator</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Strange-result-using-lt-comparison-operator/m-p/216719#M39930</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Use the HEX16. format to look at how these two different numbers end up getting stored into the 8 byte IEEE floating point format.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data aa;&lt;/P&gt;&lt;P&gt;x=1.2;&lt;/P&gt;&lt;P&gt;y=(1.1+1*0.1);&lt;/P&gt;&lt;P&gt;put&amp;nbsp; (x y) (= hex16. /) ;&lt;/P&gt;&lt;P&gt;x=round(x,0.1);&lt;/P&gt;&lt;P&gt;y=round(y,0.1);&lt;/P&gt;&lt;P&gt;put / (x y) (= hex16. /) ;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;x=3FF3333333333333&lt;/P&gt;&lt;P&gt;y=3FF3333333333334&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;x=3FF3333333333333&lt;/P&gt;&lt;P&gt;y=3FF3333333333333&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Aug 2015 20:50:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Strange-result-using-lt-comparison-operator/m-p/216719#M39930</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2015-08-04T20:50:25Z</dc:date>
    </item>
    <item>
      <title>Re: Strange result using lt comparison operator</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Strange-result-using-lt-comparison-operator/m-p/216720#M39931</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Much reading available on this topic.&lt;/P&gt;&lt;P&gt;For example:&lt;/P&gt;&lt;P&gt;&lt;A href="http://support.sas.com/documentation/cdl/en/lrcon/68089/HTML/default/viewer.htm#p0ji1unv6thm0dn1gp4t01a1u0g6.htm" title="http://support.sas.com/documentation/cdl/en/lrcon/68089/HTML/default/viewer.htm#p0ji1unv6thm0dn1gp4t01a1u0g6.htm"&gt;Numerical Accuracy in SAS Software: SAS(R) 9.4 Language Reference: Concepts, Fifth Edition&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Aug 2015 03:29:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Strange-result-using-lt-comparison-operator/m-p/216720#M39931</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2015-08-05T03:29:52Z</dc:date>
    </item>
    <item>
      <title>Re: Strange result using lt comparison operator</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Strange-result-using-lt-comparison-operator/m-p/216721#M39932</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks to you all for your quick help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Santosh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Aug 2015 13:36:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Strange-result-using-lt-comparison-operator/m-p/216721#M39932</guid>
      <dc:creator>SP_SAS</dc:creator>
      <dc:date>2015-08-05T13:36:19Z</dc:date>
    </item>
  </channel>
</rss>

