Path: utzoo!attcan!uunet!snorkelwacker!apple!usc!ucsd!pacbell.com!pacbell!sactoh0!jak From: jak@sactoh0.UUCP (Jay A. Konigsberg) Newsgroups: comp.lang.c Subject: Re: IsUnsigned() function? Message-ID: <3539@sactoh0.UUCP> Date: 18 Jul 90 22:51:48 GMT References: <1990Jul16.214155.5087@Neon.Stanford.EDU> Reply-To: jak@sactoh0.UUCP (Jay A. Konigsberg) Organization: SAC-UNIX, Sacramento, Ca. Lines: 31 In article <1990Jul16.214155.5087@Neon.Stanford.EDU> jhsu@Neon.Stanford.EDU (Jeffrey H. Hsu) writes: > > How would you write a space efficient algorithm/function in C that >takes in an integer and returns 0 if signed and 1 if unsigned? > I would bet that they had something like this in mind. -------------------------------------------------------------------------- #define MASK 10000000 #define TRUE 1 #define FALSE 0 main() { signed(1) ? printf("unsigned\n") : printf("signed\n"); signed(-1) ? printf("unsigned\n") : printf("signed\n"); } signed(number) long number; { if( number & MASK ) return(FALSE); else return(TRUE); } -- ------------------------------------------------------------- Jay @ SAC-UNIX, Sacramento, Ca. UUCP=...pacbell!sactoh0!jak If something is worth doing, its worth doing correctly.