本文目录一览:
- 1、二进制转换为string字符串?
- 2、c语言如何将二进制数转换为字符? 有代码如下其中有些不明白的地方,请大家帮忙看看.
- 3、c语言 8位2进制数转换成字符
- 4、C语言如何把一个16位二进制数转换为10进制形式字符串
- 5、c语言的二进制数值如何直接输出?
- 6、c语言二进制转换
二进制转换为string字符串?
在C语言中,比较简单,因为C的字符串就是以0为结束符的二进制流:
#include iostream
#include string.h
using namespace std;
void main()
{
char buf[] = { 0x30, 0x30, 0x30, 0x30, 0x30, 0x33, 0x36, 0x39 }; // 二进制流
char str[256];
strncpy( str, buf, sizeof( buf ) ); // 直接复制二进制流
str[ sizeof( buf ) ] = '\0'; // 在结尾加0,作为结束符
cout str endl;
}
c语言如何将二进制数转换为字符? 有代码如下其中有些不明白的地方,请大家帮忙看看.
改这样就ok了
void binary_to_ascii(unsigned int bin) //value是关键字,不要用来做变量名
{
unsigned int quotient = bin;
int ten = 1;
int ascii = 0;
//quotient=value/10;//此处为什么是除以10?
//if(quotient!=0)
// binary_to_ascii(quotient);
//putchar(value%10+'0');
while (quotient)
{
ascii += quotient % 10 * ten;
quotient /= 10; // 因为你输入的是十进制的数,因此输入的数要除以10才能得到每一位的数
ten *= 2; //因为是2进制,因此乘以2
}
printf("%c", ascii);
}
不懂可追问
c语言 8位2进制数转换成字符
a[i]是个字符'0'或者'1', 不能直接相乘,直接相乘的话,乘的是字符的ASCII。出错在这里。
C语言如何把一个16位二进制数转换为10进制形式字符串
#includestdio.h
#includestdlib.h
#includestring.h
int main(void)
{
char ch1[16],ch2[10];
int sum,i=0,flag = 1;
printf("请输入需要转化的二进制:");
gets(ch1);
while(i16)
{
sum = (ch1[i]-48)*flag;
flag = flag*2;
i++;
}
i = 0;
while(sum0)
{
ch2[i++] = sum%10;
sum = sum/10;
}
printf("%s",ch2); //注意这里面输出的是反向十进制
return 0;
}
c语言的二进制数值如何直接输出?
1.
C标准没有输出二进制的,不过用itoa()可以实现到二进的转换
2.
可以使用itoa函数把变量的数值转换成2进制字符串,再用输出函数输出。
3.
用
法:char
*itoa(int
value,
char
*string,
int
radix);
4.
详细解释:itoa是英文integer
to
array(将int整型数转化为一个字符串,并将值保存在数组string中)的缩写.
5.
参数:value:
待转化的整数。
6.
radix:
是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制。
7.
*
string:
保存转换后得到的字符串。
8.
返回值:char
*
:
指向生成的字符串,
同*string。
9.
备注:该函数的头文件是"stdlib.h"
下列函数可以将字符串转换为数字:
------------------------------------------------------------------------
函数名
作
用
------------------------------------------------------------------------
atof()
将字符串转换为双精度浮点型值
atoi()
将字符串转换为整型值
atol()
将字符串转换为长整型值
strtod()
将字符串转换为双精度浮点型值,并报告不能被转换的所有剩余数字
strtol()
将字符串转换为长整值,并报告不能被转换的所有剩余数字
strtoul()
将字符串转换为无符号长整型值,并报告不能被转换的所有剩余数字
------------------------------------------------------------------------
将字符串转换为数字时可能会导致溢出,如果你使用的是strtoul()这样的函数,你就能检查这种溢出错误。请看下例:
代码如下:
#
include
stdio.
h
#
include
stdlib.
h
#
include
limits.
h
void
main(void);
void
main
(void)
{
char*
str
=
"1234567891011121314151617181920"
;
unsigned
long
num;
char
*
leftover;
num
=
strtoul(str,
leftover,
10);
printf("Original
string:
%s\n",str);
printf("Converted
number:
%1u\n"
,
num);
printf("Leftover
characters:
%s\n"
,
leftover);
}
c语言二进制转换
计算机运行二进制代码后呈现出人可以识别的非二进制形式,是由输出语句来完成的。
例如printf( ) 函数,会将二进制值转化为指定的格式字符串进行输出。