首页 > 编程知识 正文

c语言二进制数据转为字符串,c#string转二进制

时间:2023-12-29 13:16:32 阅读:329718 作者:PRYV

本文目录一览:

二进制转换为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,作为结束符

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:

%sn",str);

printf("Converted

number:

%1un"

,

num);

printf("Leftover

characters:

%sn"

,

leftover);

}

c语言二进制转换

计算机运行二进制代码后呈现出人可以识别的非二进制形式,是由输出语句来完成的。

例如printf( ) 函数,会将二进制值转化为指定的格式字符串进行输出。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。