精华内容
下载资源
问答
  • 十进制转化为二进制

    千次阅读 2019-04-24 17:34:16
    十进制转化为二进制 得出的后面的余数 倒着写,就是对应的

    在这里插入图片描述

    十进制转化为二进制
    得出的后面的余数 倒着写,就是对应的
    
    展开全文
  • 十进制转化为二进制: code: #include #include #include using namespace std; int main() { int num=10; char str[8]; itoa(num,str,2); printf("%08s\n",str); return 0; } 将二进制转化为十进制。 ...

    十进制转化为二进制:

    code:

    #include <iostream>
    #include <cstdlib>
    #include <cstdio>
    using namespace std;
    
    int main() {
       int num=10;
       char str[8];
       itoa(num,str,2);
       printf("%08s\n",str);
        return 0;
    }
    
    将二进制转化为十进制。

    code:

    #include<cstdio>
    int main()
    {
    	int num = 10;
    	char str[100];
    	int n = atoi(itoa(num, str, 2));
    	printf("%d\n",n);
    	return 0;
    }
    先把num转换为二进制的字符串,再把该字符串转换为整数。



    展开全文
  • (一)十进制化为二进制: package test; public class test { public static void main(String[] args... //十进制转化为二进制 public static void tobin(int num) { StringBuffer ab=new StringBuffer(); wh

    对StringBuffer的使用说明:

    package test;
    
    public class test {
    	    public static void main(String[] args) {
    	        StringBuffer sb = new StringBuffer();//StringBuilder sb=new StringBuilder();具有同种功效
    	        int len = sb.length();
    	        System.out.println(len);//长度是0
    	        sb.append("hello");//添加字符串进去
    	        System.out.println("sb:" + sb);
    	         
    	        StringBuffer sb1 = new StringBuffer("world");//构造的时候,就添加字符串
    	        System.out.println("sb1:" + sb1);
    	 
    	    }
    }
    
    控制台输出结果:
    0
    sb:hello
    sb1:world
    


    (一)十进制化为二进制:

    package test;
    
    public class test {
    	public static void main(String[] args)
    	{
    		tobin(6);
    	}
    	//十进制转化为二进制
    	public static void tobin(int num)
    	{
    		StringBuffer ab=new StringBuffer();
    		while(num>0)
    		{
    			System.out.println(num%2);
    			num=num/2;
    		}
    		System.out.println(ab.reverse());
    	}
    }
    
    
    控制台输出结果:
    0
    1
    1
    
    

    (二)十进制转化为十六进制:

    先将十进制转化为二进制,然后再将二进制转化为十六进制:比防说60转化为十六进制是3C,60的二进制是:

    实际上,&与操作是做了一种单位求余的操作,且将余数的可能缩小在了不会超过单位最大值的范围之内

    0000-0000    0000-0000   0000-0000  0011-1100

    0000-0000    0000-0000   0000-0000  0000-1111

    上面两个进行与“&“运算:

    0000-0000    0000-0000   0000-0000   0000-1111


    package test;
    
    public class test {
    	public static void main(String[] args)
    	{
    		tohex(60);
    	}
    	//十进制转化为十六进制
    	//第一种:
    	public static void tohex(int num)
    	{
    		StringBuffer sb=new StringBuffer();
    		for(int x=0;x<6;x++)
    		{
    			int temp=num&15;
    			if(temp>9)
    			sb.append((char)(temp-10+'A'));
    			else
    				sb.append(temp);
    			num=num>>>4;//右移四位
    		}
    		System.out.println(sb.reverse());
    	}
    	/*控制台输出结果:
    	 * 00003C
    	 */
    	
    	
    	
    	//第二种:
    	/*public static void tohex(int num)
    	{
    		StringBuffer sb=new StringBuffer();
    		for(int x=0;x<6;x++)
    		{
    			int temp=num&15;
    			if(temp>9)
    			System.out.println((char)(temp-10+'A'));
    			else
    				System.out.println(temp);
    			num=num>>>4;
    		}
    	}
    	
    	C
    	3
    	0
    	0
    	0
    	0
        */
    }
    
    
    

    (三)查表法十进制十六进制:

    package test;
    
    public class test {
    	
    	/*0 1 2 3 4 5 6 7 8 9 A   B   C   D   E   F   ==十六进制中的元素 
    	 *0 1 2 3 4 5 6 7 8 9 10  11  12  13  14  15
    	 * 
    	 * 查表法:将所有元素临时存储起来,建立对应关系
    	 * 每一次&15后的之作为索引去查建立好的表,就可以找到对应的元素
    	 * 这样比-10+‘a’简单的多
    	 * 这个表怎么建立呢?
    	 * 可以通过数据的形式来定义
    	 */
    	public  static void main(String [] args)
    	{
    		
    		tohex(60);
    	}
    	
    	public static void tohex(int num)
    	{
    		char[] sh={'0','1','2','3',
    				   '4','5','6','7',
    				   '8','9','A','B',
    				   'C','D','E','F'};
    		for(int x=0;x<8;x++)
    		{
    			int temp=num&15;
    			System.out.println(sh[temp]);
    			num=num>>>4;
    		}
    	}
    }
    
    
    控制台输出结果:
    C
    3
    0
    0
    0
    0
    0
    0
    

    package test;
    
    public class test {
    	
    	/*0 1 2 3 4 5 6 7 8 9 A   B   C   D   E   F   ==十六进制中的元素 
    	 *0 1 2 3 4 5 6 7 8 9 10  11  12  13  14  15
    	 * 
    	 * 查表法:将所有元素临时存储起来,建立对应关系
    	 * 每一次&15后的之作为索引去查建立好的表,就可以找到对应的元素
    	 * 这样比-10+‘a’简单的多
    	 * 这个表怎么建立呢?
    	 * 可以通过数据的形式来定义
    	 */
    	public  static void main(String [] args)
    	{
    		tohex(60);
    	}
    	public static void tohex(int num)
    	{
    		char[] sh={'0','1','2','3',
    				   '4','5','6','7',
    				   '8','9','A','B',
    				   'C','D','E','F'};
    		//定义一个临时容器
    		char[] arr=new char[8];//'\u0000'
    		int post=0;
    		while(num!=0)
    		{
    			int temp=num&15;
    			
    			arr[post++]=sh[temp];
    			num=num>>>4;
    		}
    		//存储数据的数组遍历
    		for(int x=post-1;x>=0;x--)
    		{
    			System.out.print(arr[x]+",");
    		}
    	}
    	
    	//控制台输出结果:3,C,
    	
    	/*
    	 * public static void tohex(int num)
    	{
    		char[] sh={'0','1','2','3',
    				   '4','5','6','7',
    				   '8','9','A','B',
    				   'C','D','E','F'};
    		//定义一个临时容器
    		char[] arr=new char[8];
    		for(int x=0;x<8;x++)
    		{
    			int temp=num&15;
    			
    			arr[x]=sh[temp];
    			num=num>>>4;
    		}
    		//存储数据的数组遍历
    		for(int x=arr.length-1;x>=0;x--)
    		{
    			System.out.print(arr[x]+",");
    		}
    	}
    	
    	//0,0,0,0,0,0,3,C,
    	 */
    }
    
    package test;
    
    public class test {
    	public  static void main(String [] args)
    	{
    		tohex(60);
    	}
    	public static void tohex(int num)
    	{
    		char[] sh={'0','1','2','3',
    				   '4','5','6','7',
    				   '8','9','A','B',
    				   'C','D','E','F'};
    		//定义一个临时容器
    		char[] arr=new char[8];//'\u0000'
    		int post=arr.length;
    		while(num!=0)
    		{
    			int temp=num&15;
    			
    			arr[--post]=sh[temp];
    			num=num>>>4;
    		}
    		//存储数据的数组遍历
    		System.out.println("post="+post);
    		for(int x=post;x<arr.length;x++)
    		{
    			System.out.print(arr[x]+",");
    		}
    	}
    }
    控制台输出结果:
    post=6
    3,C,


    (查表法十进制转化为二进制):

    package test;  
      
    public class test {  
    	public static void main(String[] args)
    	{
    		fun(6);
    	}
    	
    	public static void fun(int num)
    	{
    		char[] a={'0','1'};
    		char[] arr=new char[32];
    		int post=arr.length;
    		while(num!=0)
    		{
    			int temp=num&1;
    			arr[--post]=a[temp];
    			num=num>>>1;
    		}
    		for(int x=post;x<arr.length;x++)
    		{
    			System.out.print(arr[x]);
    		}
    	}
    }  
    控制台输出结果:
    110



    展开全文
  • python十进制转化为二进制

    万次阅读 2019-08-07 08:47:47
    python十进制转化为二进制 实例:给定一个非负十进制数n,如何将其转换成为一个二进制数? 输入:123 输出:1111011 输入:1363 输出:10101010011 输入:12 输出:1100 首先我们看一下二进制,由十进制来类比。 ...

    python十进制转化为二进制


    实例:给定一个非负十进制数n,如何将其转换成为一个二进制数?

    输入:123
    输出:1111011

    输入:1363
    输出:10101010011

    输入:12
    输出:1100

    首先我们看一下二进制,由十进制来类比。

    考虑一个十进制数,8327,那么

    数字: 8 3 2 7

    权值:1000 100 10 1

    所以, 值为 8*1000+3*100+2*10+7*1。

    同理,考察二进制数,10110110,那么

    数字:1 0 1 1 0 1 1 0

    权值:128 64 32 16 8 4 2 1

    所以,值为128+32+16+4+2=182

    通常,我们在面对问题的时候,需要分析问题,而分析问题,通常会从最简单的情况开始。所以,看一下最简单的数字的十进制和对应的二进制:

              0                           0
    
              1                           1
    
              2                          10
    
              3                          11
    
              4                         100
    
              5                         101
    
              6                         110
    
              7                         111
    
              8                        1000
    
              9                        1001
    
             10                        1010
    
             11                        1011
    
             12                        1100
    
             13                        1101
    
             14                        1110
    

    从上述例子中,你发现了什么规律了吗?

    其中可以发现的规律有:

    1、若n是偶数,则二进制数末尾数字是“0”,若n是奇数,则二进制数末尾数字是“1”。

    2、如果n的二进制数可以表示为bk … b2 b1 b0,那么如果n是偶数,那么n/2的二进制数可以表示为bk … b2 b1,如果n是奇数,那么(n-1)/2的二进制数可以表示为bk … b2 b1。

    # 二进制的转换
    
    
    def Dec2Bin(dec):
        # 递归
        result = ''
    
        if dec:
            result = Dec2Bin(dec // 2)
            return result + str(dec % 2)
        else:
            return result
    
    
    def dec_to_bin(n):
        if n < 0:
            print("Please input a nonnegative integer next time. Bye!")
        else:
            original_N = n
            suffix = ""
            while n > 0:
                suffix = str(n % 2) + suffix
                n = n // 2
            # The input n = 0 is dealt with as a special case
            if suffix == "":
                suffix = "0"
            # print("The binary equivalent of", original_N, "is", suffix)
            return suffix
    
    展开全文
  • 在Matlab中十进制转化为二进制矩阵,可以生成波形,比使用Matlab中自带的函数生成的char型结构更合理
  • c++实现十进制转化为二进制 c++实现十进制转化为二进制
  • 需求:编写程序使十进制转换成为二进制分析:十进制转换二进制。如图,只需要不断除以2,然后将余数逆置即可,我们可以将余数依次输入到栈中,利用栈先进后出的特性,再将栈中元素输出即可得到二进制序列 int ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,918
精华内容 1,167
关键字:

十进制转化为二进制