在C语言中怎么把一个数转换成二进制然后输出

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C语言中怎么把一个数转换成二进制然后输出相关的知识,希望对你有一定的参考价值。

数据在内存中本来就是以二进制补码存放的,设法从高字节至低字节一个bit一个bit地输出到屏幕上即可。根据题面要求,输出过程还要做以下工作:
从最高字节开始检测,全0的字节略去;
每8位增加输出一个空格。
代码如下:
12345678910111213141516//#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h"int main(void) char *p; unsigned i,n,x=1<<sizeof(int)*8-1; printf("Input an integer...\\n"); scanf("%d",&n); for(p=(char *)&n,i=sizeof(int)-1;i>0;i--) if(*(p+i)==0) x>>=8; else break; for(i=0;x;x>>=1) printf(++i%8 ? "%d" : "%d ",(n&x) || 0); printf("\\n"); return 0;
参考技术A 代码如下:#includevoidbn(inti)intk,j;k=i/2;j=i%2;if(k!=0)binary(k);//采用递归处理,直到为0时,然后递归printf("%d",j);intmain()chara;scanf("%c",&a);bn(a);return0;拓展延伸:什么是ASCII码:ASCII(AmericanStandardCodeforInformationInterchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC646。请注意,ASCII是AmericanStandardCodeforInformationInterchange缩写,而不是ASC2,有很多人在这个地方产生误解 参考技术B 二进制只有存储到char[]中,,,,,,,转换的过程,可以使用除2法

~~~~~

在SQL中怎么用convert函数把一位数字转换成两位数?

select right(replicate('0', 1) + convert(varchar(10),1), 2)
楼主你可以直接运行上面的看看,是可以达到效果的。
convert(varchar(10),1)这个不用说你明白的,replicate('0', 1)是左位补0,第二个参数是控制要补几个0。

希望能帮助你!
参考技术A 一位数字转换成两位数?

1 变成 01
2 变成 02 这样的么?

1> SELECT
2> number AS 装换前,
3> right(cast(power(10, 2) as varchar) + number, 2) AS 装换后
4> FROM
5> master..spt_values
6> WHERE
7> type='P'
8> AND number BETWEEN 0 and 9;
9> go
装换前 装换后
----------- ----
0 00
1 01
2 02
3 03
4 04
5 05
6 06
7 07
8 08
9 09

(10 行受影响)
参考技术B select convert(DECIMAL(18,2),123456.789)
--------------------------------------------------------------------------------------------------------------
楼主你可以试试这个,看是不是你要的效果。你也可以把后面的那个数字变成字段。
参考技术C 唉 来晚了、、、 LZ可以看看帮助文档,上面也有很多有用的东西、、、

以上是关于在C语言中怎么把一个数转换成二进制然后输出的主要内容,如果未能解决你的问题,请参考以下文章

c语言中如何将十六进制转换成2个字节输出

C语言,字符串转成16进制或者二进制写入二进制文件

C语言 判断一个数的二进制数第7位是不是为1

C语言程序答案:将一个整数n转成字符串输出。???不用递归法,还能怎么写

C语言程序,怎么把16进制转成字符:

c语言中如何提取二进制数中的某一位?