delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/10/06/16:06:44

From: mrh99 AT uswest DOT net (Matthew Haley)
Newsgroups: comp.os.msdos.djgpp
Subject: Re: What's this? A bug?
Organization: Home
Message-ID: <37fb7201.1121707@news.uswest.net>
References: <MO8+3UJ05Q5a092yn AT jagor DOT srce DOT hr>
X-Newsreader: Forte Free Agent 1.11/32.235
Lines: 66
Date: Wed, 06 Oct 1999 16:02:43 GMT
NNTP-Posting-Host: 209.181.103.102
X-Trace: news.uswest.net 939225629 209.181.103.102 (Wed, 06 Oct 1999 11:00:29 CDT)
NNTP-Posting-Date: Wed, 06 Oct 1999 11:00:29 CDT
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

x-no-archive:yes

Hi Viktor Bresan ,

An int is only guaranteed to be *at least* 16-bits. With a real
compiler such as you have now, an int is 32-bits.

 On 6 Oct 1999 17:10:51 +0200,
 <<Viktor Bresan>> wrote:

>Here is the code which counts the number of nonzero bits in int value.
>It works fine until you enter negativ value, e.g. when i enter value -1
>it counts 32 nonzero bits (although we all know that int has only 16 bits)!?
>The same code compiled under the BC++ 3.1 acts normal (under 16 bits counted
>for each negative value).
>
>Am i doing something wrong? What happends here?
>Thanx!
>
>--------------------------------- cut - cut ---------------------------------
>#include <conio.h>
>#include <stdio.h>
>
>
>char CntBits(int val)
> { char ret_val;
>   int maska;
>
>   ret_val = 0;
>   maska = 1;
>   while(maska)
>     {
>       if(val & maska)
>           ret_val++;
>
>       maska <<= 1;
>     }
>
>   return (ret_val);
> }
>
>int main(/*int argc, char *argv[]*/)
> { char CntBits(int);
>   int val;
>
>   clrscr();
>   printf("Enter int value: ");
>   scanf("%i",&val);
>
>   printf("%i nonzero bit(s)!",CntBits(val));
>
>   return (0);
> }
>
>----------------------------------- cut - cut -------------------------------
>
>
>-- 
>Viktor Bresan, student of electronics at FESB Split, Croatia
>http://public.srce.hr/~vbresan/

===================================
Matthew Haley
mrh99 AT uswest DOT net
http://www.users.uswest.net/~mrh99
===================================

- Raw text -


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