www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/01/28/20:28:28

From: Jeff Weeks <pweeks AT execulink DOT com>
Newsgroups: comp.os.msdos.djgpp
Subject: fixed point math: NEED HELP QUICK!
Date: 28 Jan 1997 20:12:38 GMT
Organization: Internet News Service
Lines: 37
Message-ID: <5clmjm$ee3@nr1.toronto.istar.net>
NNTP-Posting-Host: news.linkd.net
Mime-Version: 1.0
XPident: Unknown
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

Hi y'all :)

I'm having some rather strange problems with fixed point math that I'd
like to clear up really quick.  I've already taken to much time on this
function.  Anyway, here's my problem;  To my understanding the following
are 100% equal:

other_stuff = stuff / 256;
other_stuff = stuff << 8;

assuming that:

int stuff = some_fixed_point_number;
int other_stuff;

HOWEVER, they don't seem to be equal!!!  Whenever I use the "<< 8"
method to convert a fixed point number into a regular int I always get a
seg fault after using the result.  If I divide by 256 then it's fine. 
As you can guess though, I'd rather use the "<< 8" method because it's
faster.

Why aren't these two methods equal?  Why doesn't "<< 8" work!  I really
need an answer to this one.

PS: Please repond to my email address (pweeks AT execulink DOT com) because my
ISP has been doing some screwy stuff and sometimes I can't get to this
newsgroup.

Jeff

--------------------------------------------
            - Code X Software -
       Programming to a Higher Power
  
  email: mailto:pweeks AT execulink DOT com
  web:	 http://www.execulink.com/~pweeks/
--------------------------------------------

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019