使用位运算法将10进制转化为2进制
2011-01-22 19:50
316 查看
#include <stdio.h>
char * itobs (int, char *);
void show_bstr (const char *);
int main (void)
{
char bin_str[8 * sizeof (int) + 1];
int number;
puts ("Enter integers and see them in binary.");
puts ("Non-numeric input terminates program.");
while (scanf ("%d",&number) == 1)
{
itobs (number, bin_str);
printf ("%d is ",number);
show_bstr (bin_str);
putchar ('/n');
}
puts ("Bye!");
return 0;
}
char * itobs (int n, char *ps)
{
int i;
static int size = 8 * sizeof(int);
for (i = size - 1; i >= 0; i--, n >>= 1)
ps[i] = (01 & n) + '0';
ps[size] = '/0';
return ps;
}
void show_bstr (const char *str)
{
int i = 0;
while (str[i])
{
putchar (str[i]);
if (++i % 4 == 0 && str[i])
putchar (' ');
}
}
char * itobs (int, char *);
void show_bstr (const char *);
int main (void)
{
char bin_str[8 * sizeof (int) + 1];
int number;
puts ("Enter integers and see them in binary.");
puts ("Non-numeric input terminates program.");
while (scanf ("%d",&number) == 1)
{
itobs (number, bin_str);
printf ("%d is ",number);
show_bstr (bin_str);
putchar ('/n');
}
puts ("Bye!");
return 0;
}
char * itobs (int n, char *ps)
{
int i;
static int size = 8 * sizeof(int);
for (i = size - 1; i >= 0; i--, n >>= 1)
ps[i] = (01 & n) + '0';
ps[size] = '/0';
return ps;
}
void show_bstr (const char *str)
{
int i = 0;
while (str[i])
{
putchar (str[i]);
if (++i % 4 == 0 && str[i])
putchar (' ');
}
}
相关文章推荐
- 使用java语言实现将10进制转化为2进制
- 10进制怎么转化为2进制
- 2进制转化成10进制
- C语言学习3-1:成绩检测,使用while和do...while得到九九乘法,1-1/2+1/3-1/4 .......+1/10求和,输入10进制打印2进制,求素数,猜随机产生的数字,16进制转二进制,
- 10进制转化为2进制
- HDU2051 10进制转化成2进制
- 使用堆栈将10进制转化为n进制·
- 使用Java把16进制数转化成10进制
- HDU 2051 10进制转化为2进制
- Delphi实现进制转化(2进制,8进制,10进制,16进制)
- 10进制转化为-2进制
- 九度OJ 题目1208:10进制 VS 2进制
- [收藏]2进制、8进制、10进制、16进制...各种进制间的轻松转换(c#)
- 10进制数转化成2进制数的四种方法
- 2进制转10进制
- 2进制转10进制
- VC++中2进制,10进制,16进制相互转换
- shell练习003--获取eth0的MAC并转化成10进制
- 2进制,10进制和16进制
- 10进制小数转化为任意进制小数