新睿云

> 知识库 > 十进制与二进制如何互转换?编程语言教会你进制编程

十进制与二进制如何互转换?编程语言教会你进制编程

作者/来源:小睿 发布时间:2019-11-14

计算机语言中经常使用到进制之间的转换,本文介绍使用不同编程语言来如何实现十进制与二进制相互之间的转换?不同编程语言中进制转换原理是一样的。

十进制转换二进制原理:采用除2取余,逆序排列输出。

实现:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后依次翻转排序即可得到二进制数。

十进制转换二进制

二进制转换十进制原理:要从右到左用二进制的每个数去乘以2的相应次方求累加。

二进制转换十进制

Python语言

十进制转二进制

在Python中采用”//”的方法实现转换。

# 十进制整数转二进制

def decToBin(num):

arry = [] #定义一个空数组,用于存放2整除后的商

while True:

arry.append(str(num % 2)) #用列表的append方法追加

num = num // 2 #用地板除求num的值

if num == 0: #若地板除后的值为0,那么退出循环

break

return "".join(arry[::-1]) #列表切片倒叙排列后再用join拼接

print(decToBin(10))

输出结果:1010

二进制转十进制

# 二进制整数转十进制

def binToDec(binary):

result = 0 #定义一个初始化变量,后续用于存储最终结果

for i in range(len(binary)):

#利用for循环及切片从右至左依次取出,然后再用内置方法求2的次方

result += int(binary[-(i + 1)]) * pow(2, i)

return result

print(binToDec("1010"))

结果:10

C语言

C语言是基础语言,在C语言中实现二进制与十进制间的互相转换。

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <locale.h>

int main() {

int i;

char bs[33];

char b[33];

// 十进制整数转二进制串;

i=1024;

ltoa(i,b,2);

sprintf(bs,"%032s",b);

printf("i=%d,bs=%s/n",i,bs);

// 二进制字符串转化为十进制数;

strcpy(bs,"00000000000000000000010000000000");

i=strtol(bs,&e,2);

printf("bs=%s,i=%d/n",bs,i);

return 0;

}

输出结果:

i=1024,bs=00000000000000000000010000000000

bs=00000000000000000000010000000000,i=1024

Java语言

java语言将任意一个十进制数数字转换为二进制形式。

package zhuanhuan;

import java.util.Scanner;

public class test {

public static void main(String[] args) {

// TODO 自动生成的方法存根

//二进制转换十进制

Scanner input1 = new Scanner( System.in );

System.out.print("Enter a binary number: ");

String binaryString =input1.nextLine();

System.out.println("Output toDecimal: "+Integer.parseInt(binaryString,2));

//十进制转二进制

Scanner input2 = new Scanner( System.in );

System.out.print("Enter a decimal number: ");

int decimalInt = input2.nextInt();

System.out.println("Output toBinary: "+Integer.toBinaryString( decimalInt));

}

}

热门标签
new year
在线咨询
咨询热线 400-0505-565
投诉与建议
{{item.description}}

—您的烦恼我们已经收到—

我们会将处理结果发送至您的手机

请耐心等待