C语言将10进制转为2进制

第一种方法:

#include<stdio.h>

void dectobin(int n);

int main()
{
        int x=0;
        scanf("%d",&x);//只能正数
	dectobin(x);
	printf("\n");
        return 0;
}

void dectobin(int n)
{
	if(n/2>0)
	{
		dectobin(n/2);
		printf("%d",n%2);
	}
	else
	{
		printf("%d",n);
	}
}

第二种方法:

#include<stdio.h>

int main()
{
        int i,j,x=0;
	int a[1000];
        scanf("%d",&x);//只能正数

        for(i=0;;i++)
        {
                a[i]=x%2;
                x=x/2;
                if(x==0)
		{
                   break;
	<span style="white-space:pre">	</span>}
        }
        for(;i>-1;i--)
	{
           printf("%d",a[i]);
	}
	printf("\n");
        return 0;
}

C语言将10进制转为2进制

时间: 2024-11-08 23:26:44

C语言将10进制转为2进制的相关文章

16进制转为8进制

//十六进制转8进制 #include<iostream> using namespace std; int main(void){ int n; scanf("%d",&n); while(n--) {  string s1,s2;  cin>>s1;  for(int i=0;i<s1.length();i++)  {   switch(s1[i])   {    case '0':s2+="0000";break;    

16进制转8进制

题目 将16进制数,转化为8进制数,第一行n是16进制数的个数,接下来n行对应n个16进制数,输出n行对应8进制数 数据规模 :1<=n<=10,16进制数的个数<=100000 举例: 输入: 2 39 123ABC 输出: 71 4435274 思路 先将16进制数转化为2进制,再由2进制转为8进制.之所以转为2进制,是因为2进制和16.8进制之间的转化相对容易.所以总的来说,只要解决2进制和两个进制之间的转换问题就解决了. 代码 代码里有注释,很清楚了 #include <i

支持windows linux下将指定内存段转为16进制与ascii码的日志输出类

来源:http://blog.csdn.net/lezhiyong 1. 简介 将指定内存段转为16进制与asci码的输出到日志文件的类. 2. 功能介绍 1) 支持window与linus双系统. 2) 可指定输出目录. 3) 日志能输出的时间精确到毫秒,日志能输出线程号. 4) 提供字符串输出. 5) 提供指定内存转换为16进制输出. 6) 提供指定内存转换为16进制和ascii码同时输出. 7) 可调整16进制输出间距. 3. 原理和算法 1) 模块是基于C++语言编写: 2) 通过条件定

python中2进制、10进制、16进制等之间的转换

10转2: bin(8) # '0b1000' 2转10: int('1000', 2) # 8 10转16: hex(15) # '0xf' 16转10: int('f', 16) # 15 2进制和16进制中间通过转10进制可以相互转换

华为笔试练习题----解析9进制,11进制的字符串为10进制的数字输出

                                                                              解析9进制,11进制的字符串为10进制的数字输出 描述: 解析9进制,11进制的字符串为10进制的数字输出,输入的字符串有效位(0v0012345678)长度不超过8位,前面的00不算做有效位.解析后以10进制的数字输出.如果解析到非法字符串则返回-1 9进制: 9进制的数的范围:0,1,2,3,4,5,6,7,8 9进制的开始为:0V或者0

C# 10进制与62进制互转 数据大无压力 10进制与72,96进制任意转换

因项目需要把10进制的ID转换成62进制的字符串,分享给别人. 于是在网上搜索了很多算法,但都未能满足需要,项目里的ID是固定算法算出来的18~20位数据的ulong整型. 如:17223472272256398107,509488277152981097. 网上找的算法问题在于,将ulong的值转换62进制的字符串后,再将字符串转换成ulong值时会不准确. 于是各种测试与假象问题所在,最后确定算法确实没有问题,于是开始怀疑数据类型的问题. 果然,原因是使用了Math.Pow(double x

10进制转62进制,实现穷举指定位数的所有密码组合(暴力破解)

因为我们这里要穷举的密码包括0-9,a-z,A-Z共62个字符,所以我们采用62进制来遍历. 首先,我们实现一个10进制转62进制的方法. private static char[] charSet = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray(); //private static string[] charSet = { "0", "1&qu

javascript 10进制和64进制的转换

原文:javascript 10进制和64进制的转换 function string10to64(number) { var chars = '0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ-~'.split(''), radix = chars.length, qutient = +number, arr = []; do { mod = qutient % radix; qutient = (qutient - m

( 转)Sqlserver中tinyint, smallint, int, bigint的区别 及 10进制转换16进制的方法

一.类型比较 bigint:从-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型数据,存储大小为 8 个字节.一个字节就是8位,那么bigint就有64位 int:从-2^31(-2,147,483,648)到2^31-1(2,147,483,647)的整型数据,存储大小为 4 个字节.int类型,最大可以存储32位的数据 smallint:从-2^15(-32,768)到2^15-1(32,767)的整数数据,存储大小为 2 个