在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语言中怎么把一个数转换成二进制然后输出的主要内容,如果未能解决你的问题,请参考以下文章