| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2795 人关注过本帖
标题:c语言有没有将256以内的整数转为一个字节的二进制数的功能?
只看楼主 加入收藏
qddale
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-6-5
收藏
 问题点数:0 回复次数:12 
c语言有没有将256以内的整数转为一个字节的二进制数的功能?
c语言有没有将256以内的整数转为一个字节的二进制数的函数或其他的方法?如果没有,哪位高手请之点一二,先谢过了。
搜索更多相关主题的帖子: 二进制数 c语言 整数 字节 
2006-06-12 14:32
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-06-12 14:49
csight
Rank: 1
等 级:新手上路
威 望:1
帖 子:293
专家分:0
注 册:2006-6-11
收藏
得分:0 
用最老土的方法就是设一个数组,用来记录所求数对2 的余数,然后在将数组反向输出,应该可以的吧?!

头可断,发型不可乱;血可流,皮鞋不可不擦油;
2006-06-12 15:03
young
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:223
专家分:160
注 册:2004-9-5
收藏
得分:0 


数据在计算机中都是二进制表示的
如果非要看0101的话,这样做:

void main(void)
{
char ch=0x7C;
short i=7;

while(i>=0)
{
if((ch>>i) & 0x01)
printf("1");
else
printf("0");
i--;
}
}


如果你爱C语言,请你爱指针; 如果你爱指针,请你爱指针的指针;
2006-06-12 15:52
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
/*以下合乎楼主口味吗*/
#include<stdio.h>
#include<stdlib.h>
main()
{
int x; char bins[40],*p=bins;
printf("input an integer: ");
scanf("%i",&x);
if(x<0){*p++='-';x=-x;}
itoa(x,p,2);//将x转化为2进制ASCII串p
puts(bins);
}

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-12 16:19
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
以下是引用–★–在2006-6-12 16:19:05的发言:
if(x<0){*p++='-';x=-x;}

?不懂...什么意思这是?要在二进制前加个负号?


#include<stdio.h>
int main(void)
{
short x,i=8;
scanf("%d",&x);
while(i-->0)
printf("%d",(x>>i)&~(~0<<1));
printf("\n");
return 0;
}


[此贴子已经被作者于2006-6-12 22:11:46编辑过]


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-06-12 22:05
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
收藏
得分:0 

假设范围在[0,255],前面好几个都是可以的
[CODE]
#include "stdio.h"

int main()
{
unsigned char c;
int i;

scanf("%d",&c);
if(c>255 || c<0)
exit(-1);
for(i=7;i>=0;i--)
printf("%d",(c>>i)&1);
return 0;
}

[/CODE]


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-06-12 23:44
cordier
Rank: 2
等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
收藏
得分:0 

#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
main(void)
{
int number;
char string[25];
printf("number=");
scanf("%d",&number);
printf("string = %s\n",itoa(number, string,2));
getch();
}


2006-06-13 10:02
qddale
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-6-5
收藏
得分:0 
非常感谢各位的帮忙,我用数组实现了,但没有办法变成函数在主程序中调用,只好便在主程序中了。只是还有一个问题:
统计所有整数转换为0-1串后0和1的个数时,若是几百个或一两千个数时,结果是正确的,若是几万个数时会出现问题,是因为C的计算功能有限引起的还是程序设计问题?我只是用两个计数器实现的。
2006-06-17 08:24
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
以下是引用qddale在2006-6-17 8:24:54的发言:
非常感谢各位的帮忙,我用数组实现了,但没有办法变成函数在主程序中调用,只好便在主程序中了。只是还有一个问题:
统计所有整数转换为0-1串后0和1的个数时,若是几百个或一两千个数时,结果是正确的,若是几万个数时会出现问题,是因为C的计算功能有限引起的还是程序设计问题?我只是用两个计数器实现的。

莫名其妙,要善于提问:
1。你的每一个“整数”极限数值范围多大?
2。从正确到出问题的临界点发生在多少个数的时候?
3。你的每一个“计数器”的计数上限?
4。在什么编译器下运行的?建议用VC。


落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-17 08:43
快速回复:c语言有没有将256以内的整数转为一个字节的二进制数的功能?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026110 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved