-
算法设计与分析递归算法之十进制转任意进制
2019-09-22 13:13:37递归算法五:十进制转任意进制 分析 边界条件 十进制数除以要转换的进制数等于零时,可直接输出这个十进制数 递归条件 根据除基数,取余数,结果倒排序的规则进行处理,直到商为0结束 代码 #include <...递归算法五:十进制转任意进制
分析
边界条件
十进制数除以要转换的进制数等于零时,可直接输出这个十进制数
递归条件
根据除基数,取余数,结果倒排序的规则进行处理,直到商为0结束代码
#include <iostream> using namespace std; void change(int a, int radix){ if(a!=0) { change(a/radix,radix); cout<<a%radix; //返回余数 } } int main(){ int x,radix; cin>>x>>radix; change(x,radix); cout<<endl; return 0; }
-
IP地址转二进制,二进制转十进制简便算法
2020-04-25 01:13:52今天有个朋友问了个问题,看到IP地址转二进制,顺便复习了一下,没想到发现了诀窍 首先要搞清楚IP地址的区间是0到255,共分为a,b,c,d,e五个区间, A 0-127 B 128-191 C 192-223 D 224-239 E 240-255 IP最大的...今天有个朋友问了个问题,看到IP地址转二进制,顺便复习了一下,没想到发现了诀窍
首先要搞清楚IP地址的区间是0到255,共分为a,b,c,d,e五个区间,
A 0-127
B 128-191
C 192-223
D 224-239
E 240-255
IP最大的数是255
每个IP由四组八位的二进制组成,从左往右起分别是2的(n-1)次方,所以随便拿一个256以内的数度给你化为二进制,都可以分解为权值相问加。对应的权值的位值为1,其他位为0即可。
IP是八位,
键值从左到右 1, 2, 3, 4, 5, 6, 7, 8
幂值从左到右也就是 2的 7, 6, 5, 4, 3, 2, 1, 0 次方
次方值从左往右是:2^n-1 :128, 64, 32, 16, 8, 4, 2, 1
例如:IP:192.168.80.71 转换成二进制
192 = 128 + 64 = 2^7 + 2^6 ,所以得知第一位和第二位上面有值,其他位上没有值,转换成二进制就是 11000000
168 = 128 + 32 + 8 = 2^7 + 2^5 + 2^3 ,所以得知7对应的第一位,5对应的第三位,3对应的第五位有值,其他位为0,10101000
80 = 64 + 16 = 2^6 + 2^4 , 所以得知6对应的第二位,4对应的第四位有值,其他为0,二进制为 01010000
71 = 64 + 4 + 2 + 1 = 2^6 + 2^2 + 2^1 + 2^0 ,分别是6对应的第2位,2->第6,1-->7,0-->8位上有值,所以二进制为 01000111
延伸
利用上面的计算下1000的二进制
已知2^10 = 1024, 1000小于1024,所以突破口是2的9次方
2^9 = 512
2^8 = 256
2^7 = 128
2^6 = 64
2^5 = 32
2^3 = 8
2^0 = 1
512 + 256 + 128 + 64 + 32 + 8 + 1 = 1001
所以1001的二进制为 9、8、7、6、5、3、0位上有值,为1,其他位上为0,套公式位2^(n-1) 得知 n = 9+1 = 10,所以,1001的二进制一共有十位,二进制为:1111101001
二进制转换成十进制:
二进制: 1 1 1 1 1 0 1 0 0 1
对应幂值: 9 8 7 6 5 4 3 2 1 0
2的次方: 2^9 2^8 2^7 2^6 2^5 2^3 2^0
次方值: 512 + 256 + 128 + 64 + 32 + 0 + 8 + 0 + 0 + 1 = 1001
-
python的用算法进制转换详解_学习python第五天进制转换
2020-12-02 14:40:26【注意】计算机只能识别二进制数据八进制:满八进一 范围:0~7符号:0o例如:0o66十进制:满十进一 范围:0~9十六进制:满十六进一范围:0~9 A B C D E F符号:0x例如:0x3D二进制和十进制之间的转换:二 ->...6.进制之间的转换(重要)
二进制:满二进一 范围:0、1符号:0b例如:0b10...【注意】计算机只能识别二进制数据
八进制:满八进一 范围:0~7符号:0o例如:0o66
十进制:满十进一 范围:0~9
十六进制:满十六进一范围:0~9 A B C D E F符号:0x例如:0x3D
二进制和十进制之间的转换:
二 -> 十:使用乘法
每一个二进制位的值乘以2的位数-1次幂,将转换得到的十进制数据累加起来,得到最终的十进制结果
十 -> 二:使用短除法
将十进制数据每次都短除2,记录余数,直到短除到商为0结束,将余数倒叙组合(拼接)起来,得到二进制结果
计算机中重要的进制转换问题详解
以上的方法是原始的操作,我们也可以使用简便算法,详细过程参看老郭图解...
计算机中重要的进制转换问题详解
二进制和八进制之间的转换:
二 -> 八:
从最低位开始每3位为一组进行拆分,如果不足3位最高位补0,
将每组中的2进制位数据分别转为十进制数据,每组将自己转换完的十进制数据进行相加,
最后将每组的十进制数据进行拼接得到八进制数据
八 -> 二:
将八进制数据按每位进行拆分,得到每位中各自所表示的二进制数据,
然后将二进制数据进行拼接,得到最终的二进制数据
计算机中重要的进制转换问题详解
二进制和十六进制之间的转换:
二 -> 十六:
从最低位开始每4位为一组进行拆分,如果不足4位最高位补0,
将每组中的2进制位数据分别转为十进制数据,每组将自己转换完的十进制数据进行相加,
最后将每组的十进制数据进行拼接得到十六进制数据
十六 -> 二
将十六进制数据按每位进行拆分,得到每位中各自所表示的二进制数据,
然后将二进制数据进行拼接,得到最终的二进制数据
原文:https://www.cnblogs.com/hankleo/p/10426324.html
-
蓝桥杯:基础练习 十进制转十六进制【JAVA算法实现】
2015-04-19 09:02:01题目描述 给出一个非负整数,将它表示成十六进制的形式。...实数输出的问题如果没有特别说明,舍入都是按四舍五入进行。 样例输入 30 样例输出 1E import java.util.Scanner; public class Ma题目描述
给出一个非负整数,将它表示成十六进制的形式。
输入格式
输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647
输出格式
输出这个整数的16进制表示
实数输出的问题如果没有特别说明,舍入都是按四舍五入进行。
样例输入
30
样例输出
1E
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); int n = cin.nextInt(),m=0; char c;String s=""; if (n==0)s="0"; while(n%16!=0||n/16!=0){ m=n%16; if(m/10==1)c=(char)(65+m%10); else c=(char)(48+m); s=c+s; n=n/16; } System.out.println(s); } }
-
实例五十二:进制转换
2019-10-02 11:20:54十进制整数 m 对应的二进制数串就是 m%2 余数的逆序,十进制小数 n 对应的二进制数串就是 n*2 的整数位的顺序,然后将其相加。 例如:123.45,整数部分是 123,小数部分是 0.45,则 123(+)=1111011(=) 所以,123..... -
十进制转换2-16进制(c语言算法实现)
2014-03-21 19:34:21今天第五天坚持写算法了,由于从前没学过c语言,加上用的mircrosoft c++6.0,太不好用了,太愁人了。经过一些列测试,终于把数制转化完成了。还是有一定的成就感,嘿嘿。 闲话少说,代码奉上。 #include "stdio.h" ... -
算法题(五十八):滴滴2017笔试题——进制转换
2019-01-18 20:34:48给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数 输入描述: 输入为一行,M(32位整数)、N(2 ≤ N ≤ 16),以空格隔开。 输出描述: 为每个测试实例输出转换后的数,每个输出占一行。如果N... -
栈和队列3|进制转换 - 数据结构和算法25
2012-12-29 06:18:00地球人都知道,我们学习编程常常会接触到不同进制的数,而最多的就是二进制、八进制、十进制、十六进制。 鱼C人还知道,二进制是计算机唯一认识的,十进制是人们通常使用的。 那么,有没有谁知道八进制和十六... -
使用JAVA将非负十进制整数n转换成b进制,递归方法与非递归方法
2019-06-08 17:13:42一.题目要求 将非负十进制整数n转换成b进制。(其中b=2~16) 二.流程设计 1.非递归 2.递归 三.算法实现 1.非递归实现 2.递归实现 四.运行截图 五.总结经验 ... -
汇编:把寄存器AX的十六进制数转换成十进制形式输出
2007-04-02 23:07:00原理:ax为十六位寄存器,所以输出十进制数范围为0 - 65535,最大五位数,有如下算法:65535/10000= 商6 余数55355535/1000= 商5 余数535535/100= 商5 余数3535/10= 商3 余数55/1= 商5 余数0把每次所得商加上48... -
【网络安全学习篇3】:进制转换(千峰教育学习笔记)
2020-07-20 15:14:13一、数制类型 1.1、二进制 二进制特点:2种符号(0-1)逢二进一 ...三、十六进制与十进制 四、二进制与十六进制 五、二进制与IP地址 六、储存单位 mac地址全球唯一就是物理地址 听得很懵逼 ,就酱,结束。 ... -
【leetcode 简单】 第九十五题 数字转换为十六进制数
2018-08-27 23:32:00给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用补码运算方法。 注意: 十六进制中所有字母(a-f)都必须是小写。 十六进制字符串中不能包含多余的前导零。如果要转化的数为0,... -
二进制的规律
2019-10-27 18:56:34电脑的算法只有零和一直说也就是二进制,而人的算法则是由零到九,是十进制。 在昨晚从一写到五百一十二然后每个数都转换为二进制,一开始在写的时候觉得真是太难了,那么多数怎么写呀?但是写了写却发现二进制的... -
数据结构与算法(十五)
2021-02-02 10:28:43递归的应用:任意进制转换 #学自北京大学陈斌老师 前言: 递归三定律的回顾: ❖为了向阿西莫夫的“机器人三定律”致敬 ,递归算法也总结出“三定律” 1,递归算法必须有一个基本结束条件(最小规模问题的直接... -
第五周 数值转换
2016-10-08 10:27:05烟台大学计算机与控制工程学院 作 者:郝环宇 完成日期: 9.29 问题描述: 把十进制的整数转换为任一进制数输出。...十进制转八进制 main函数: #include #include "head.h" void MultiBaseOutput (int n -
十五天掌握OpenCV——BRIEF算法(Binary Robust Independent Elementary Features)
2019-10-15 22:54:36魏老师学生——Cecil:学习OpenCV-机器视觉之旅 原理代码演示 原理 SIFT算法:使用128维描述符,由于...用LSH(局部敏感哈希)将SIFT浮点数描述符转换为二进制字符串,再对字符串使用汉明距离匹配。 汉明距离计算... -
高中信息技术会考分类汇编及参考答案算法与程序设计题(第五套).pdf
2020-03-28 14:32:34高中信息技术会考分类汇编及参考答案 算法与程序设计题 第五套 一选择题本题有 14 小题每小题 3 分共 ...占的磁盘空间约为 A 96KB B 384KB C 768KB D 1024KB 2 二进制数 (10)2 转换成十进制数是 A 1 B 2 C 3 D 10 3 将 -
5个常见C语言算法
2006-10-17 19:43:005个常见C语言算法十进制转换为二进制的递归程序字符串逆置的递归程序整数数位反序,例如12345->54321四舍五入程序(考虑正负数)二分法查找的递归函数 #include#include#include //十进制转换为二进制的递归程序... -
笔记 前端需要了解的算法题--位运算
2020-05-06 23:04:39在学习位运算之前应该知道十进制如何转二进制,二进制如何转十进制。这里说明下简单的计算方式。 十进制 33 可以看成是 32 + 1 ,并且 33 应该是六位二进制的(因为 33 近似 32,而 32 是 2 的五次方,所以是六位)... -
第五周项目4—数制转换
2016-09-30 10:59:18All rights reserved.... 文件名称:1.cpp ...问题描述:把十进制的整数转换为任一进制数输出,利用栈设计算法,并实现程序。 输入描述:十进制数与需要输出的进制。 程序输出:转换后的数。 -
第五周项目4-数制转换
2016-09-29 11:30:15问题及代码: /* ... ...*问题描述:把十进制的整数转换为任一进制数输出。请利用栈设计算法,并实现程序。 *输入描述:任意一个十进制整数(这里不考虑超精度问题) *程序输出:转换后的r进制数 -
PHP数据结构之六 PHP栈的应用举例【数制转换和括号匹配算法】
2016-08-08 15:50:38十进制整数转换为二、八、十六进制整数 *2.括号匹配问题 */ header("content-type:text/html;charset=gb2312"); //在PHP数据结构之五 栈的PHP的实现和栈的基本操作可以找到StackLinked类 include_once("./... -
第五周项目四 - 数制转换
2017-12-29 16:31:33问题描述:把十进制的整数转换为二至九之间的任一进制数输出。请利用栈设计算法,并实现程序。 输入描述:数字与进制 程序输出:输出转换结果 程序及代码: #include #include typedef int Elemtype; ... -
算法合集 算法的C语言描述
2009-10-14 19:48:31内容包括14项,每项还包括相关的子项内容: 一、数论算法 二、图论算法 三、背包问题 四、排序算法 五、高精度计算 六、 树的遍历 七、进制转换 八、全排列与组合的生成 ...十四、数据结构相关算法 -
第五周项目4数制转换
2016-09-30 10:01:58/* ... All rights reserved. 文件名称:第五周项目4....问题描述:把十进制的整数转换为二至九之间的任一进制数输出。请利用栈设计算法,并实现程序。 输入描述:数字与进制 程序输出:输出转换结果 */ 代码: # -
第五周项目四-数制转换
2016-10-13 10:43:19/* copyright (t) 2016,烟台... *All rights reserved. ...*问题描述:把十进制的整数转换为任一进制数输出。请利用栈设计算法,并实现程序。...*输入描述:任意一个十进制整数(这里不考虑超精度问题) *程序