精华内容
下载资源
问答
  • 思路:先将二进制转换为十进制(详细参考我的这篇博客 二、十进制相互转换),然后将十进制转换为八进制(这个我们很熟悉)。 具体代码如下: #include <stdio.h> #include <math.h> int main() { long...

    二进制转换为八进制:
    思路:先将二进制转换为十进制(详细参考我的这篇博客 二、十进制相互转换),然后将十进制转换为八进制(这个我们很熟悉)。
    具体代码如下:

    #include <stdio.h>
    #include <math.h>
    int main()
    {
        long long x;
        printf("输入一个二进制数: \n");
        scanf("%lld", &x);
        printf("二进制数 %lld 转换为八进制为 %d", x, convert(x));
        return 0;
    } 
    int convert(long long x)
    {
        int octalNumber = 0, decimalNumber = 0, i = 0;
        while(x != 0)
        {
            decimalNumber += (x%10) * pow(2,i);
            ++i;
            x/=10;
        }
        i = 1;
        while (decimalNumber != 0)
        {
            octalNumber += (decimalNumber % 8) * i;
            decimalNumber /= 8;
            i *= 10;
        }
        return octalNumber;
    }

    结果如下:在这里插入图片描述
    八进制转换为二进制:
    思路:八进制先转换为十进制再转换为二进制。
    具体代码:

    #include <stdio.h>
    #include <math.h>
    long long convert(int x);
    int main()
    {
        int x;
        printf("输入一个八进制数: ");
        scanf("%d", &x);
        printf("八进制数 %d 转二进制为 %lld", x, convert(x));
        return 0;
    } 
    long long convert(int x)
    {
        int decimalNumber = 0, i = 0;
        long long binaryNumber = 0;
        while(x != 0)
        {
            decimalNumber += (x%10) * pow(8,i);
            ++i;
            x/=10;
        }
        i = 1;
        while (decimalNumber != 0)
        {
            binaryNumber += (decimalNumber % 2) * i;
            decimalNumber /= 2;
            i *= 10;
        }
        return binaryNumber;
    }

    结果如下:
    在这里插入图片描述

    展开全文
  • C 语言实例 – 八进制与进制相互转换八进制与进制相互转换。实例 - 二进制转换为八进制#include #include int convertBinarytoOctal(long long binaryNumber);int main(){long long binaryNumber;printf("输入一...

    C 语言实例 – 八进制与二进制相互转换

    八进制与二进制相互转换。

    实例 - 二进制转换为八进制

    #include

    #include

    int convertBinarytoOctal(long long binaryNumber);

    int main()

    {

    long long binaryNumber;

    printf("输入一个二进制数: ");

    scanf("%lld", &binaryNumber);

    printf("二进制数 %lld 转换为八进制为 %d", binaryNumber, convertBinarytoOctal(binaryNumber));

    return 0;

    }

    int convertBinarytoOctal(long long binaryNumber)

    {

    int octalNumber = 0, decimalNumber = 0, i = 0;

    while(binaryNumber != 0)

    {

    decimalNumber += (binaryNumber%10) * pow(2,i);

    ++i;

    binaryNumber/=10;

    }

    i = 1;

    while (decimalNumber != 0)

    {

    octalNumber += (decimalNumber % 8) * i;

    decimalNumber /= 8;

    i *= 10;

    }

    return octalNumber;

    }

    输出结果为:

    输入一个二进制数: 101001

    二进制数 101001 转换为八进制为 51

    实例 - 八进制转换为二进制

    #include

    #include

    long long convertOctalToBinary(int octalNumber);

    int main()

    {

    int octalNumber;

    printf("输入一个八进制数: ");

    scanf("%d", &octalNumber);

    printf("八进制数 %d 转二进制为 %lld", octalNumber, convertOctalToBinary(octalNumber));

    return 0;

    }

    long long convertOctalToBinary(int octalNumber)

    {

    int decimalNumber = 0, i = 0;

    long long binaryNumber = 0;

    while(octalNumber != 0)

    {

    decimalNumber += (octalNumber%10) * pow(8,i);

    ++i;

    octalNumber/=10;

    }

    i = 1;

    while (decimalNumber != 0)

    {

    binaryNumber += (decimalNumber % 2) * i;

    decimalNumber /= 2;

    i *= 10;

    }

    return binaryNumber;

    }

    输出结果为:

    输入一个八进制数: 51

    八进制数 51 转二进制为 10100

    原文链接:https://rumenz.com/cprogramming/c_examples_octal_binary_convert.html

    展开全文
  • 十进制->二进制八进制、十六进制:除进制数取余倒序法 二进制八进制、十六进制->十进制:按位乘进制数上幂法 1.十进制二进制 import java.util.LinkedList; public class DecimalAndBinary { /** * @...

    十进制->二进制、八进制、十六进制:除进制数取余倒序法

    二进制、八进制、十六进制->十进制:按位乘进制数上幂法

    1.十进制<->二进制

    import java.util.LinkedList;
    
    public class DecimalAndBinary {
    
    	/**
    	 * @param num
    	 * 十进制->二进制
    	 */
    	public static String Decimal2Binary(int num){
    		
    		LinkedList<Integer> list = new LinkedList<Integer>();
    		int temp = 0;
    		while(num != 0){
    			temp = num % 2;
    			list.add(temp);
    			num = num / 2;
    		}
    		StringBuilder sb = new StringBuilder();
    		for (int i = list.size() - 1; i >= 0; i--) {
    			sb.append(list.get(i));
    		}
    		return sb.toString();
    	}
    	/**
    	 * @param str
    	 * 二进制->十进制
    	 */
    	public static int Binary2Decimal(String str){
    		Integer num = 0;
    		char[] cha = str.toCharArray();
    		int length = str.length();
    		for (int i = 0; i < cha.length; i++) {
    			num = num + Integer.valueOf(String.valueOf(cha[i]))*(int)Math.pow(2, Double.valueOf(length) - 1);
    			length--;
    		}
    		return Integer.valueOf(String.valueOf(num));
    	}
    }

    2.十进制<->八进制

    import java.util.LinkedList;
    
    public class DecimalAndOctal {
    
    	/**
    	 * @param num
    	 * 十进制->八进制
    	 */
    	public static String Decimal2Octal(int num){
    		
    		java.util.List<Integer> list = new LinkedList<Integer>();
    		int temp = 0;
    		while(num != 0){
    			temp = num % 8;
    			list.add(temp);
    			num = num / 8;
    		}
    		StringBuffer sb = new StringBuffer();
    		for (int i = list.size() - 1; i >= 0; i--) {
    			sb.append(list.get(i));
    		}
    		return sb.toString();
    	}
    	/**
    	 * @param input
    	 * 八进制->十进制
    	 */
    	public static int Octal2Decimal(String input){
    		char[] cha = input.toCharArray();
    		int length = input.length();
    		int num = 0;
    		for (int i = 0; i < cha.length; i++) {
    			num = num + Integer.valueOf(String.valueOf(cha[i]))*(int)Math.pow(8, Integer.valueOf(length - 1));
    			length--;
    		}
    		return num;
    	}
    
    }

    3.十进制<->十六进制

    import java.util.ArrayList;
    import java.util.List;
    
    
    public class DecimalAndHex {
    
    	public static String get16Char(int temp){
    		
    		String s = null;
    		switch (temp) {
    		case 10:
    			s = "A";
    			break;
    		case 11:
    			s = "B";
    			break;
    		case 12:
    			s = "C";
    			break;
    		case 13:
    			s = "D";
    			break;
    		case 14:
    			s = "E";
    			break;
    		case 15:
    			s = "F";
    			break;
    		default:
    			break;
    		}
    		
    		return s;
    	}
    	/**
    	 * @param num
    	 * 十进制->十六进制
    	 */
    	public static String Decimal2Hex(int num){
    		
    		List<String> list = new ArrayList<String>();
    		int temp = 0;
    		while(num != 0){
    			temp = num % 16;
    			if (temp >= 10) {
    				list.add(get16Char(temp));
    			}else {
    				list.add(String.valueOf(temp));
    			}
    			num = num / 16;
    			
    		}
    		StringBuffer sb = new StringBuffer();
    		for (int i = list.size() - 1; i >= 0; i--) {
    			sb.append(list.get(i));
    		}
    		return sb.toString();
    	}
    	public static Integer get16Num(char character){
    		Integer num = null;
    		switch (character) {
    		case 'A':
    			num = 10;
    			break;
    		case 'B':
    			num = 11;
    			break;
    		case 'C':
    			num = 12;
    			break;
    		case 'D':
    			num = 13;
    			break;
    		case 'E':
    			num = 14;
    			break;
    		case 'F':
    			num = 15;
    			break;
    		default:
    			break;
    		}
    		return num;
    	}
    	
    	/**
    	 * @param input
    	 * 十六进制->十进制
    	 */
    	public static int Hex2Decimal(String input){
    		char[] cha = input.toCharArray();
    		int num = 0;
    		for (int i = 0; i < cha.length; i++) {
    			if (get16Num(cha[i]) != null) {
    				num = num + get16Num(cha[i])*(int)Math.pow(16, cha.length - 1 - i);
    			}else {
    				num = num + Integer.valueOf(String.valueOf(cha[i]))*(int)Math.pow(16, cha.length - 1 - i);
    			}
    		}
    		return num;
    	}
    }


    展开全文
  • 二进制进制八进制十六进制相互转换: 不同进制之间的转换是计算机学科同学必学的,网上有很多这方面的知识,今天搬运过来整理一下,大家分享,希望大家一起进步。 二进制转换: 1、十进制到二进制: 除2取余数...

    二进制十进制八进制十六进制相互转换:

    不同进制之间的转换是计算机学科同学必学的,网上有很多这方面的知识,今天搬运过来整理一下,与大家分享,希望与大家一起进步。
    在这里插入图片描述
    二进制转换:

    1、十进制到二进制:
    除2取余数 最后把余数倒过来 100101
    比如:十进制数37
    在这里插入图片描述
    所以转换成的二进制数字为:100101
    **2、八进制到二进制:**一个八进制的位拆分成一个三位的二进制数
    比如:[八进制]616
    6拆分成 110
    1拆分成 001
    6拆分成 110
    所以转换成的二进制数字为:110001110
    3、十六进制到二进制:
    一个八进制的位拆分成一个四位的二进制数
    比如:[十六进制]616
    6拆分成 0110
    1拆分成 0001
    6拆分成 0110
    所以转换成的二进制数字为:11000010110
    八进制转换:
    1、十进制到八进制:除8取余数 最后把余数倒过来
    同时我们也可以先将十进制转换成二进制,然后将二进制又转换成八进制
    比如:2456 转化成八进制数字:4630
    2456/8=307,余0;
    307/8=38,余3;
    38/8=4,余6;
    4/8=0,余4。
    将所有余数倒序相连,得到结果:4630。
    因此十进制的2456转换为八进制结果为4630。
    2、二进制到八进制转换 7=4+2+1 111 八进制最大的数字是7转换成二进制刚好是111,占3个位
    每三个二进制数为一组,转成一个八进制数位,如果二进制高位不足3位时,用零填补。
    比如:10011011
    010 011 011
    2 3 3
    因此二进制的10011011转换为八进制结果为233。
    十六进制转换:
    1、十进制到十六进制:除16倒着取余数
    同时我们也可以先将十进制转换成二进制,然后将二进制又转换成十六进制
    比如说:1610转换成十六进制
    直接转16进制:
    1610/16=100……10(A);
    100 /16= 6……4;
    6 /16= 0……6;
    故:1610(10)=64A(16).
    2、二进制到十六进制 15=8+4+2+1 1111 十六进制最大数字是F,即15转换成二进制1111,刚好占4个位
    每四个二进制数为一组,转成一个十六进制数位,如果二进制高位不足3位时,用零填补。
    比如:1110011011
    0011 1001 1011
    3 9 B
    因此二进制的 1110011011转换为十六进制39B
    拓展资料:
    2进制,是供计算机使用的,1,0代表开和关,有和无,机器只认识2进制。
    10进制,当然是便于我们人类来使用,我们从小的习惯就是使用十进制,这个毋庸置疑。
    16进制,内存地址空间是用16进制的数据表示, 如0x8049324。
    编程中,我们常用的还是10进制。   
    比如:int a = 100,b = 99;   
    不过,由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决 问题。但二进制数太长了。比如int 类型占用4个字节,32位。比如100,用int类型的二进制数表达将是:   
    0000 0000 0000 0000 0110 0100   
    面对这么长的数进行思考或操作,没有人会喜欢。因此,用16进制或8进制可以解决这个问题。因为,进制越大,数的表达长度也就越短。

    展开全文
  • 本文主要介绍的是VB的十进制,八进制,十六进制,二进制相互转换大全
  • c#二进制八进制,十进制相互转换详解,模拟的小程序,感兴趣的可以下载看看,恰恰饭,暂时不支持小数点
  • 08功能之十进制十六进制、八进制二进制相互转换的理论 1 十进制整数转其它进制 方法:持续除k取余法。即十进制要转几进制,就对k不断进行除法即可。余数倒序取出就是答案。 1) 十进制整数转十六进制 2) 十...
  • 二进制 八进制 十进制 十六进制 相互转换 jar 含源代码 运行前安装JRE先,下载地址: http://download.oracle.com/otn-pub/java/jdk/6u29-b11/jre-6u29-windows-i586.exe 本程序用Java编写,适合java爱好者使用
  • 16)之间相互转换 二进制&十进制 二 进制转为十进制: 十进制转为二进制 二进制&八进制 八进制二进制:12 二进制八进制: 001 010 二进制&十六进制 二进制转十六进制 & 十六进制转二进制 十...
  • php 十六进制 十进制 八进制 二进制 进制相互转换 任意进制转换 $hex = 208; //十六进制 $dec = 520; //十进制 $oct = 1010; //八进制 $bin = 1000001000; //二进制 //decbin() //十进制转换为二进制 echo decbin...
  • 二进制八进制、十进制、十六进制之间的关系如下图: 十进制转二进制;150转二进制是:10010110如下图; 二进制转十进制10010110=150如下图: ...十进制十六进制相互转换 转载于:https://www...
  • 一般是十进制数,什么都不用加 二进制数0b开头(逢二进一) 八进制数以0开头 十六进制以0x开头,0-9,A代表10,B代表11,C代表12D13 共同点:都有基数,二进制基数是2,...二进制0与二进制负数 最高位表示符位号,0正1负
  • 用C++编写的二进制八进制,十进制,十六进制相互转换的程序。
  • Python实现十进制和二进制八进制、十六进制的相互转换1. 前言2. 实现思想2.1 十进制转换为其他进制2.2 其他进制转换为十进制3. 参考资料 1. 前言 此文方便后期的复习,如果有问题,欢迎批评指正。 2. 实现思想 2.1...
  • java 二进制八进制,十进制,十六进制间相互转换的方法
  • 09功能之十进制十六进制、八进制二进制相互转换的实现 前提: 其它相关函数。 1)字符串翻转函数 //字符串翻转函数 void ReverseStr(char *source, char target[], unsigned int len) { unsigned int i; for...
  • 二进制八进制、十六进制转换为十进制 二进制八进制和十六进制向十进制转换都非常容易,就是“按权相加”。所谓“权”,也即“位权”。 假设当前数字是 N 进制,那么: 对于整数部分,从右往左看,第 i 位的...
  • 二进制八进制、十六进制相互转换&原码、反码、补码一、科普电脑存储机制电脑的存储方式:以二进制的方式存储。内存:(运行空间,掉电清除)磁盘:(永久持续化存储空间,除非坏了)计算机中处理数据的单位:字节...
  • 二进制八进制和十六进制转化为十进制: 二进制转化为十进制:print(int("111",2)) 输出为7 八进制转化为十进制:print(int("11",8)) 输出为9 十六进制转化为十进制:print(int("...
  • C#中,使用Convert.ToString方法可以将十进制转换二进制八进制和十六进制,使用Convert.ToInt64方法可以将二进制八进制和十六进制转换成十进制。那么如何将二进制转换成十六进制呢?方法就是首先使用Convert....
  • 2. 二进制八进制、十六进制和十进制的相互转换 2.1 为了不累赘描述,本文以百度的二进制小数转换为十进制小数为例,如下图 2.2 十进制整数转二进制整数以及十进制小数转换为二进制小数如下 3. 原码、...
  • 二进制转换为其他进制: 二进制八进制:把二进制的数每三个位分一等份,从右边开始分。计算三个二进制数的和就是八进制数中的一位。 如下: 101110111001转成八进制:从右边开始分。 101 110 111 001三位...
  • 功能:完成二进制八进制,十进制十六进制之间的相互转换(以字符数组形式输入)。 要点: 字符数组反序:strrev(char *str); 字符数组转换为十进制整数:atoi(char *str); map容器完成字符到数值的转换; ...
  • 二进制 八进制进制相互转换(JAVA描述) public class Main { public static void main(String args[]) { //二进制转换为十进制 int a=Integer.parseInt("1010",2); System.out.println(a); //八进制...
  • 文章目录二进制转八进制二进制转十进制二进制转十六进制八进制转二进制十进制转二进制十六进制转二进制八进制或者十六进制转十进制十进制转八进制或十六进制有两种方法十六进制八进制 二进制转八进制 方法为:3位...
  • 对于基础薄弱的读者,本节的内容可能略显晦涩和枯燥,如果觉得吃力,可以暂时跳过,用到的时候再来...将二进制八进制、十六进制转换为十进制二进制八进制和十六进制向十进制转换都非常容易,就是“按权相加”。...
  • public class RadixExchange { public static void main(String[] args) { ... //十进制向二进制八进制、十六进制转换 // someRadixToDecimal(); //二进制八进制、十六进制向十进制转换 someRadixT
  • 使用int(str, n)即可完成二进制八进制、十六进制到十进制的转换: str:是要转换的进制具体数,类型字符串 n:是要转换的进制,类型整型 1.1 二进制 转 十进制 int(str_b, 2) >>> int('0101',2) 5 &...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 28,271
精华内容 11,308
关键字:

二进制与八进制的相互转换