长的十进制字符串转换为二进制序列
2014-04-07 09:53
302 查看
最近正在练习考研的机试题目,感觉被清华的机试题困扰了好久,我尝试把问题分解,然后大的难题,就被我分解了。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define DATA 40
#define MAX 200
void tenToBin(char *str);
char bin[MAX];
int main()
{
char str[DATA];
while(scanf("%s", str) != EOF)
{
tenToBin(str);
puts(bin);
}
return 0;
}
/**
* Description:字符串整数转换为二进制
*/
void tenToBin(char *str)
{
int i, j, k, len, sum, d;
char temp;
//初始化参数
sum = 1;
len = strlen(str);
k = 0;
memset(bin, 0, sizeof(bin));
while(sum)
{
sum = 0;
for(i = 0; i < len; i ++)
{
d = (str[i] - '0') / 2;
sum += d;
if(i == len - 1)
{
bin[k ++] = (str[i] - '0') % 2 + '0';
}else
{
str[i + 1] += (str[i] - '0') % 2 * 10;
}
str[i] = d + '0';
}
}
//逆序
for(i = 0, j = k - 1; i < j; i ++, j --)
{
temp = bin[j];
bin[j] = bin[i];
bin[i] = temp;
}
}
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define DATA 40
#define MAX 200
void tenToBin(char *str);
char bin[MAX];
int main()
{
char str[DATA];
while(scanf("%s", str) != EOF)
{
tenToBin(str);
puts(bin);
}
return 0;
}
/**
* Description:字符串整数转换为二进制
*/
void tenToBin(char *str)
{
int i, j, k, len, sum, d;
char temp;
//初始化参数
sum = 1;
len = strlen(str);
k = 0;
memset(bin, 0, sizeof(bin));
while(sum)
{
sum = 0;
for(i = 0; i < len; i ++)
{
d = (str[i] - '0') / 2;
sum += d;
if(i == len - 1)
{
bin[k ++] = (str[i] - '0') % 2 + '0';
}else
{
str[i + 1] += (str[i] - '0') % 2 * 10;
}
str[i] = d + '0';
}
}
//逆序
for(i = 0, j = k - 1; i < j; i ++, j --)
{
temp = bin[j];
bin[j] = bin[i];
bin[i] = temp;
}
}
相关文章推荐
- IOS中常用的字符串、十进制、二进制、十六进制之间互相转换及简单算术和
- 将一个十进制整数转换为二进制字符串
- 使用移位操作把十进制转换为二进制与十六进制字符串输出
- 十进制转换为二进制序列,并输出1的个数,和序列的奇偶序列
- C语言中字符串如何转换为二进制、八进制、十进制、十六进制
- C语言中字符串如何转换为二进制、八进制、十进制、十六进制
- c#--将图片转换为二进制序列字符串
- 二进制(字符串)转换成十进制
- 二进制字符串与十进制的转换
- C语言中字符串如何转换为二进制、八进制、十进制、十六进制
- C语言中字符串如何转换为二进制、八进制、十进制、十六进制
- 字符串十进制小数转换成字符串二进制小数
- C语言中字符串如何转换为二进制、八进制、十进制、十六进制
- C语言中字符串如何转换为二进制、八进制、十进制、十六进制
- Object-c 普通字符串、二进制、十进制、十六进制之间的相互转换
- 浅谈二进制、十进制、十六进制、字符串之间的相互转换
- C语言中字符串如何转换为二进制、八进制、十进制、十六进制
- 8、编写一个程序,它先将键盘上输入的一个字符串转换成十进制整数, 然后打印出这个十进制整数对应的二进制形式。
- 一个整数的二进制序列倒置后再转换为十进制的整数
- T-SQL编写程序,将十进制数值转换为二进制字符串后输出