我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: 【求助】设计一个C程序 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

sobbld



性别: 保密 状态: 该用户目前不在线
等级: 希望之光
发贴: 1568
威望: 0
浮云: 1215
在线等级:
注册时间: 2005-01-10
最后登陆: 2009-04-24

5come5帮你背单词 [ speed /spi:d/ n. 速度,速率,快速,迅速;vi. 飞驰,急行,加速;vt. 快速传送,促进,使加速 ]


【求助】设计一个C程序

要求输入一个整数,能把他转变成一个32bit的2进制数,并且能输出哪些位上为1.
顶端 Posted: 2007-05-12 16:50 | [楼 主]
wuxjim_sec



性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
发贴: 298
威望: 0
浮云: 1276
在线等级:
注册时间: 2006-11-17
最后登陆: 2008-06-29

5come5帮你背单词 [ france /'fra:ns/ n. 法国 ]


1.在Windows里int 就是32位的(4个字节),不信可以用sizeof()来看。
2.C语言里应该不能输出二进制格式,只能输出10,8,16进制。
3。没有必要用%(求余),有位移操作更有效率!
顶端 Posted: 2007-05-27 08:48 | [1 楼]
wuxjim_sec



性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
发贴: 298
威望: 0
浮云: 1276
在线等级:
注册时间: 2006-11-17
最后登陆: 2008-06-29

5come5帮你背单词 [ format /'fo:mæt/ n. 版式,(计算机的)格式,编排;vt. 设计,(计算机上)将…格式化 ]


Copy code
#include<stdio.h>
int main()
{
  int a;
  register int i=31,temp;
  printf("In this system the size of int is:%d",sizeof(int));
  printf("\nPlease enter a integer\n");
  scanf("%d",&a);
  getchar();
  printf("the bits are :\n");
  if(sizeof(a)!=4)
  {
    a=(long int)a;//long 应该在所以系统中都是4个字节的吧。
  }
  for(i=31;i>=0;i--)
  {
  temp=a>>i;
  temp&=1;  
  printf("%d ",temp);
  }  
  getchar();
  }

下面的是可以输出哪些位是1(刚忘记看蝈蝈的要求了)
#include<stdio.h>
int main()
{
  int a;
  int one[32]={};
  register int i=31,j=0,temp;
  printf("In this system the size of int is:%d",sizeof(int));
  printf("\nPlease enter a integer\n");
  scanf("%d",&a);
  getchar();
  printf("the bits are :\n");
  if(sizeof(a)!=4)
  {
    a=(long int)a;//long 应该在所以系统中都是4个字节的吧。
  }
  for(i=31;i>=0;i--)
  {
  temp=a>>i;
  temp&=1;    
  printf("%d ",temp);
  if(temp==1)one[j++]=32-i;  
  }
  printf("\nthe bits which is one:\n");
  for(i=0;i<j;i++)
  printf("%d ",one[i]);  
  getchar();
  }




[ 此贴被wuxjim_sec在2007-05-27 09:14重新编辑 ]
顶端 Posted: 2007-05-27 09:08 | [2 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.009311(s) query 6, Time now is:11-23 12:38, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号