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标准没有输出二进制的,不过用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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询