编程实现将一个N进制数转换成M进制数
问题:编程实现将一个N进制数转换成M进制数。(c/c++、Java、Javascript、C#、Python)
1、Python 手写算法版
def conversion_num(num, src, dest):
rtn = ''
# 1、校验源和目标是否相同
if src == dest:
rtn = num
# 2、转成10进制#
if src != 10:
num_str = str(num)
num_str = num_str[::-1]
exe_num = 0
dec_num = 0
for num_char in num_str:
# 十六进制处理
if num_char == 'A':
num_char = ''
elif num_char == 'B':
num_char = ''
elif num_char == 'C':
num_char = ''
elif num_char == 'D':
num_char = ''
elif num_char == 'E':
num_char = ''
elif num_char == 'F':
num_char = '' num_int = int(num_char)
if exe_num == 0:
dec_num += num_int
else:
dec_num += src ** exe_num * num_int
exe_num += 1
num = dec_num
# 3、转成目标进制
if dest == 10:
rtn = num
else:
num = int(num)
while True:
divisor = num // dest
remainder = num % dest
# 十六进制处理
if remainder == 10:
remainder = 'A'
elif remainder == 11:
remainder = 'B'
elif remainder == 12:
remainder = 'C'
elif remainder == 13:
remainder = 'D'
elif remainder == 14:
remainder = 'E'
elif remainder == 15:
remainder = 'F'
rtn = str(remainder) + rtn
if divisor <= 0:
break
else:
num = divisor
# 4、处理空的字符串
if rtn == '':
rtn = ''
return rtn new_num = conversion_num('', 2, 16)
print(new_num)
2、python内部方法版:
def conversion_num(num, src, dest):
rtn = ''
# 1、校验源和目标是否相同
if src == dest:
rtn = num
# 2、转成10进制#
if src != 10:
dec_num = 0
if src == 2:
dec_num = int(num, 2)
elif src == 8:
dec_num = int(num, 8)
elif src == 16:
dec_num = int(num, 16)
num = dec_num
# 3、转成目标进制
if dest == 10:
rtn = num
else:
if dest == 2:
rtn = bin(num)
elif dest == 8:
rtn = oct(num)
elif dest == 16:
rtn = hex(num)
# 4、处理空的字符串
if rtn == '':
rtn = ''
return rtn new_num = conversion_num('', 2, 16)
print(new_num)
3、
编程实现将一个N进制数转换成M进制数的更多相关文章
- NOJ 1012 进制转换(十进制转换成随意进制)
题目: 进制转换 时间限制(普通/Java) : 1000 MS/ 3000 MS 执行内存限制 : 65536 KByte总提交 : 1819 測试通过 : ...
- HDU_2031——十进制转换成R进制
Problem Description 输入一个十进制数N,将它转换成R进制数输出. Input 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=1 ...
- iOS 16进制字符串转换成int十进制
NSRange rangeErr; rangeErr.location = 6; rangeErr.length = 2; NSString *strings = [value substringWi ...
- Java中将16进制字符串转换成汉字
技术交流群:233513714 /** * 将16进制字符串转换成汉字 * @param str * @return */ public static String deUnicode(String ...
- N进制数组转换成正整数
给定一个任意长度的数组,其中的元素按照一定的进制(N进制)来转换成正整数 //把数组中的元素按照N进制转换成为正整数 #include <stdio.h> #include <std ...
- Linux c字符串中不可打印字符转换成16进制
本文由 www.169it.com 搜集整理 如果一个C字符串中同时包含可打印和不可打印的字符,如果想将这个字符串写入文件,同时方便打开文件查看或者在控制台中打印出来不会出现乱码,那么可以将字符串中的 ...
- ip地址转换成16进制long
<span style="font-size:18px;">public class IpUtil { /** * ip地址转换成16进制long * @param i ...
- C++实现16进制字符串转换成int整形值
开发中经常需要把16进制字符串转换成整形,写了个个代码供大家参考下: #include <stdio.h> #include <string.h> //字符转换成整形 int ...
- //C语言:将一个由字符0和1组成的表示二进制数的字符串,转换成相应的十进制数返回。
//函数fun:将一个由字符0和1组成的表示二进制数的字符串,转换成相应的十进制数返回. #include <stdio.h> #pragma warning (disable:4996) ...
随机推荐
- python excle读
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/4/24 9:57 # @File : Excel读.py # @Softwa ...
- php闭包的使用实例
$childrenNodes = array_filter($list, function($item) use($parentId){ return $item->node_pid == $p ...
- 18.21 关键字extern
用#include可以包含其他头文件中变量.函数的声明,为什么还要extern关键字? 1.头文件 其实头文件对计算机而言没什么作用,只是在预编译时在#include的地方展开一下,没别的意义了.将头 ...
- java-新建简单的Web项目
参考链接: https://www.cnblogs.com/silentdoer/articles/7134332.html web.xml: <?xml version="1.0&q ...
- Ntrip协议简介(转)
原文地址:https://blog.csdn.net/sinat_19447667/article/details/67637167 1 什么是Ntrip? CORS(Continuously Ope ...
- 微软AD相关操作的免费工具
https://www.ittsystems.com/best-free-active-directory-tools/
- python基础知识17---装饰器2
函数式编程复习: def map_test(func,array): array_new=[] for i in array: array_new.append(func(i)) return arr ...
- 使用VISIO远程服务器上的ORACLE数据库,反向生成数据库实体关系图
反向即根据已有的数据库,生成ER图,很多工具都可以实现这一过程,如visio,powerdesigner等,下面文章记录一下我使用VISIO生成远程服务器上的一个数据库ER图过程,供以后自己参考. 1 ...
- Director.js
Director.js 源码 // // Generated on Tue Dec 16 2014 12:13:47 GMT+0100 (CET) by Charlie Robbins, Paolo ...
- 开启mysql远程访问过程中所遇常见问题的解决办法
MYSQL ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.10.210' (111) 解决方法 今天在测试MySQL的连接 ...