首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏blog(为什么会重名,真的醉了)

    任意进制转换(2进制、8进制、16进制等)

    文章目录 写在前面 C C++ 任意进制转换函数 写在前面 ---- 今天网络赛有道题涉及进制转换,最后时间不够了,气死我了。还是对进制转换太生疏了,所以决定对进制转换总结一下。 ? printf("%o\n\n", y); scanf("%o", &x);//x从8进制转换为16进制存进y sprintf(s, "%x", x); sscanf(s, "% 任意进制转换函数 ---- 自己写的进制转换函数,理论是到36进制(因为字母不够 ),如果要字母大写改一下就好了,若有错请斧正。 进制相互转换 cout << trans("351306", 8, 2) << "\n"; cout << trans("946351", 10, 2) << "\n"; cout << trans("a6b816", 16, 2) << "\n"; cout << "\n"; cout << trans("101111111001", 2, 8) << "\n

    4K50发布于 2020-09-15
  • 来自专栏计算机基础

    计算机基础(2)——进制进制转换

    1.3 进制转换 1.3.1 位权 一个十进制数110,其中百位上的1表示1个$ 10^2 $,既100,十位的1表示1个$ 10^1 $,即10,个位的0表示0个$ 10^0 $,即0。 一个二进制数110,其中高位的1表示1个$ 2^2 $,即4,低位的1表示1个$ 2^1 $,即2,最低位的0表示0个$ 2^0 $,即0。 1.3.2 按权求和计算 二进制数、八进制、十六进制转换为十进制数的规律是相同的。把x进制数按位权形式展开多项式和的形式,求其最后的和,就是其对应的十进制数——简称“按权求和”也叫按权展开计算法。 最终求得结果:$ (306)_8 $=(198)10 16进制转10进制如图所示: $ (1a8)16转10进制 $ 最终求得结果:(1a8)16=(424)10 1.3.3 倒数取余计算 一个10进制转换为一个 Tips:R表示进制,10进制转换2进制则一直除以2得到余数,然后倒数取余,10进制转换为8进制则一直除以8得到余数之后倒数取余,以此类推。

    85430编辑于 2025-01-03
  • 来自专栏WindCoder

    进制转换

    /* 功能:进制转换 日期:2013-06-08 */ #include<stdio.h> #include<stdlib.h> void convertHex (int x); int main(void ) { int num; printf("请输入一个十进制数字:"); scanf("%d",&num); printf("%d的二进制为:",num); convertHex(num); } void convertHex (int x) { int remainder; if (x==0) { return; } remainder = x % 2; x = x / 2; convertHex(x); printf("%d",remainder); }

    1.1K10发布于 2018-09-20
  • 进制转换

    题目来源 牛客网首页 > 试题广场 > 进制转换 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32M,其他语言64M 题目描述 写出一个程序,接受一个十六进制的数,输出该数值的十进制表示 示例1 输入 0xA 输出 10 参考代码 // 链接:https://www.nowcoder.com/questionTerminal/8f3df50d2b9043208c5eed283d1d4da6 此时,如果用 cout<<a ;那么输出的是18. dec是十进制 如 cout<<dec<<b 就会把b转换成10进制再输出;hex 是16进制 如 cout<<dec<<b 就会把b转换成16进制再输出 参考文献 C++中几种将整数转换成二进制输出的方法 牛客网首页 > 试题广场 > 进制转换 ASCII码表 C++ cout利用控制符dec、hex和oct,分别输出十进制、十六进制和八进制显示整数 C++ hex和oct Author: Frytea Title: [编程题]进制转换 Link: https://blog.frytea.com/archives/315/ Copyright

    1.3K20发布于 2020-07-16
  • 来自专栏乐行僧的博客

    进制转换

    P进制转换为十进制数,采用按权展开相加。 int p;//p进制 int x;//p进制数字 int product=1;//任何权值的0次幂均为1 int y;//输出的十进制数字 while(x ! 0){ y = y+(x%10)*product;//(x%10)获取x的个位数字 product *= p;//获取下一位的权值 x /= 10;//去掉x的个位数字 } 十进制数字转换为 Q进制数字,采用除基取余法。 #define MAX 20 int Q;//Q进制 int y;//十进制数字 int ans[MAX] = {0};//存放Q进制数的每一位 int num=0;//位数 do{ ans[num

    84620编辑于 2022-05-06
  • 来自专栏c++与qt学习

    进制转换

    进制转二,八,十六进制 二,八,十六进制转十进制进制转八和十六进制 八和十六进制转二进制

    1.1K10编辑于 2022-05-05
  • 来自专栏ml

    进制转换

    65536/32768K (Java/Other) Total Submission(s) : 1   Accepted Submission(s) : 1 Problem Description 输入一个十进制数 N,将它转换成R进制数输出。 Input 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。 Output 为每个测试实例输出转换后的数,每个输出占一行。 如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。 Sample Input 7 2 23 12 -4 3 Sample Output 111 1B -11 代码: 挺容易的一道题: 1 #include<iostream> 2 #include

    1.5K80发布于 2018-03-21
  • 来自专栏个人技术笔记

    进制转换

    题目: 思路: 首先我们要确定进行转换的数的可能性为三种,即负数,正数与0;       其次十进制以上的转化情况。 例:11进制中,10用A表示, 然后最后考虑到的是获取进制数的顺序 代码示例: import java.util.Stack; public class Solution4 {     public static void main(String[] args) {         int M = 7, N = 2;         System.out.println(solve(M, N));     }     /**      * 进制转换      * 原理:      * 首先我们要确定进行转换的数的可能性为三种,即负数,正数与0;      * 其次十进制以上的转化情况。 例:11进制中,10用A表示      *      * @param M int整型 给定整数      * @param N int整型 转换到的进制      * @return string字符串

    89720编辑于 2022-10-30
  • 来自专栏Triciaの小世界

    进制转换

    题目描述 输入一个十进制数N,将它转换成R进制数输出。在10≤R≤16 的情况下,用’A’表示10,用’B’表示11,用’C’表示12,用’D’表示13,用’E’表示14,用’F’表示15。 输入格式 输入包含两个整数N(N≤10000)和R(2≤R≤16)。 注意,N有可能是负整数。 输出格式 输出一行,表示转换后的数。 样例输入 23 12 样例输出 1B 进制转换:原进制数通过辗转相除,取余,逆置余数序列的过程得到新的进制的数。

    80210编辑于 2023-04-12
  • 来自专栏怡文菌

    进制转换

    转换为十进制: 二进制、四进制、八进制、十六进制如何转换为十进制。 小数部分:0.01B=0*2^-1+1*2^-2=0+0.25=0.25D 合并整数与小数部分:101.01B=5D+0.25D=5.25D 例2: 将十六进制数1F9.05AH转换为十进制,结果为505.3515625D 转换为其他进制进制转换为二进制、四进制、八进制、十六进制。 假设一个数X(十进制表示为(X)10),该数整数部分为Xn,小数部分为Xm 假设我们需要转换为M进制。 (Xm-(m-2)*M),…,TRUNC(Xm-(m-m)*M) 例1: 将十进制数201.125D转换为二进制,其结果为11001001.001B。 取整为1,小数部分已归0,计算完毕 连接整数和小数: 11001001.001B 最后,再附上一段PHP十进制转二进制代码(仅支持整数转换) function Dec2Bin($dec) {     if

    1.9K10编辑于 2022-12-15
  • 来自专栏Java架构师必看

    进制转换

    任意进制到十进制转换 2. 十进制到任意进制转换 3. 快速的进制转换法 4. 二进制数据转换为十进制数据,如下所示: 十进制数据 = 二进制数据每个位置上的数据值 * 2^权次幂相加 二进制:100 十进制:4 100 = 1 * 2^2 + 0 * 2^1 + 0 * 2^ 1 * 8^2 + 0 * 8^1 + 0 * 8^0 = 64 + 0 + 0 = 64 十六进制数据转换为十进制数据,如下所示: 十进制数据 = 十六进制数据每个位置上的数据值 * 16^权次幂相加 十六进制:100 十进制:256 100 = 1 * 16^2 + 0 * 16^1 + 0 * 16^0 = 256 + 0 + 0 = 256 2. 注意: 0o/0O只是一个标示符号,真正参与转换的是后面的数据。在Python 3.x中,八进制数,必须以0o/0O开头。但在Python 2.x中,八进制数可以以0开头。

    3.9K10发布于 2021-05-14
  • 来自专栏全栈程序员必看

    python十进制转换_Python 进制转换

    提到进制转换这里需要了解int()这个内置函数,大多数人都会这样用: int(x) 其目的一般是将x字符串转化为整数,int()除了这个作用外,还可以将其他进制数转化为十进制数,Python内置函数官方文档 从官方文档中我们可以得知内置函数: int(x,base=10) 山东掌趣网络科技 第二个参数默认base = 10,页就是我们常用的字符串转换为十进制整数,由此,我们改变第二个参数可以将其他进制的数转换为十进制数 : print(int(‘0101′,2))#二进制转换为十进制print(int(’27’,8))#八进制转换为十进制print(int(‘A0’,16))#十六进制转换为十进制 523160 将十进制转换为二进制 、八进制、十六进制,使用内置函数:bin()、oct()、hex() b = bin(17)#十进制转换为二进制o = oct(17)#十进制转换为八进制h = hex(17)#十进制转换为十六进制print

    1.6K30编辑于 2022-08-26
  • 来自专栏全栈程序员必看

    python的进制转换器,Python进制转换

    简单转换理念: 把二进制三位一组分开就是八进制, 四位一组就是十六进制进制与十进制: (1)二进制转十进制:“按权展开求和” (1011)2=1×2**3 + 0x2**2 + 1×2**1 + 1 八进制转换成二进制数:把每一个八进制转换成3位的二进制数,就得到一个二进制数。 )2 【例】:将二进制的10110.0011 转换成八进制: 0 1 0 1 1 0 . 0 0 1 1 0 0 2 6 . 1 4 即:(10110.0011)2 = (26.14)8 二进制与十六进制 十六进制转换成二进制数:把每一个十六进制转换成4位的二进制数,就得到一个二进制数。 16进制是以0x开头的: 例如: 0x11则表示十进制的17 python中进制转换: #10进制转为2进制 bin(10) ‘0b1010’ #2进制转为10进制 int(“1001”,2) 9 #10

    1.9K20编辑于 2022-08-31
  • 来自专栏全栈程序员必看

    进制转换为二,八,十六进制_vb进制转换

    例:将十六进制的(2B)H转换为十进制的步骤如下: 1. 第0位 B x 16^0 = 11; 2. 第1位 2 x 16^1 = 32; 3. 十进制转换进制 例:将十进制的(796)D转换为十六进制的步骤如下: 1. 将商796除以16,商49余数为12,对应十六进制的C; 2. 将商49除以16,商3余数为1; 3. 例:将二进制的(11010111.0100111)B转换为八进制的步骤如下: 1. 小数点前111 = 7; 2. 010 = 2; 3. 11补全为011,011 = 3; 4. 例:将八进制的(327)O转换为二进制的步骤如下: 1. 3 = 011; 2. 2 = 010; 3. 7 = 111; 4. 例:将八进制的(327)O转换为十六进制的步骤如下: 1. 3 = 011; 2. 2 = 010; 3. 7 = 111; 4. 0111 = 7; 5. 1101 = D; 6.

    2.4K20编辑于 2022-11-07
  • 来自专栏后台技术底层理解

    python 进制转换

    # -*- coding: utf-8 -*- # 10进制转化为任何进制 from string import digits,ascii_lowercase,ascii_uppercase Alphabat = digits + ascii_lowercase + ascii_uppercase #print(Alphabat) ## 递归的方法 def ten2any(num,b=64): # while n > 0: n,index = divmod(n) res = Alphabat[index] + res return res ### 任何进制转化为 10进制 def any2ten(s,base=62): assert base<=62 and base>1 res = 0 s = str(s) for i,n in (16,17)) print(any2ten(16,16))

    1.1K30发布于 2021-09-07
  • 来自专栏全栈程序员必看

    python 进制转换

    文章目录 前言 一、Python提供的进制转换方法 1.二进制转十进制 2.八进制转十进制 3.十六进制转十进制 4.十进制转十六进制 5.十进制转二进制 6.十进制转八进制 二、自定义进制转换 1. 转十进制 2.十进制转七进制 总结 ---- 前言 十进制是我们常用的数字形式,但机器使用的却是二进制,八进制,十六进制之类的,所以进制转换是基础要求,很多编程语言提供的有进制转换的方法,下面我们开始学习 ---- 一、Python提供的进制转换方法 1.二进制转十进制 s = '1001' print(int(s,2)) 结果如下: int函数,第一个参数是一个字符串,第二个参数是字符串的进制 ,如上代码,我的s是二进制数据,它就会自动计算二进制的十进制的值 2.八进制转十进制 s = '1001' print(int(s,8)) 其实还是利用int函数,可以看见,相同的s,进制不同结果也不同 ,将其转换为十进制,代码如上,结果如下: 2.十进制转七进制 看到标题是不是愣住了?

    4.1K20编辑于 2022-08-26
  • 来自专栏bit哲学院

    (图解)Java进制转换进制转换算法,进制转换原理,看完你就懂了!

    ,接下来我们看看进制转换的具体算法  三、转换算法原理  各个进制的第一位第二位…第n位代表的数值表:   二进制转换进制转换进制转换 十六进制转换  注意:十进制的13等于十六进制的D ,这个应该不用多说了吧System.out.println(0b11);输出二进制的11,实际上是输出0011,即2^0 + 2^1 = 3System.out.println(0011);输出八进制的 011,即8^0 + 8^1 = 9System.out.println(0x11);输出的16进制为11,即16^0 + 16^1 = 17  三、进制转换的算法  实际上,java已经为我们封装好了进制转换 ,只需要调用相应的方法即可以方便的完成进制转换进制转换及对应的方法如下表所示:  进制转换对应的方法十进制转二进制Integer.toBinaryString(value);十进制转八进制Integer.toOctalString :31 十六进制的13转换成十进制是19

    1.6K20发布于 2021-04-28
  • 来自专栏知识同步

    大数进制转换

    处理大数进制 将一个长度最多为30位数字的十进制非负整数转换为二进制数输出 #include <algorithm> #include <cstdio> #include <iostream> //反过来 return b; } int main() { string a, b; while (cin >> a) { b = conversion(10, a, 2)

    61420编辑于 2022-12-26
  • 来自专栏windliang的博客

    再谈进制转换

    之前已经详细的讨论了十进制整数以及小数和二进制之间的互转,详细的可以参考 理解进制转换的原理。 前段时间在 知乎 看到了这样的一个问题。 不然的话,建议先看一下 理解进制转换的原理。 我们再重新思考一下进制,所谓进制无非是每一位有了不同的权重。 我们直接将二进制转为了七进制! 所以,我们之所以要将其他进制转换为十进制,就是因为进制的权重我们默认下都是在十进制下进行的。 总结一下 进制转换分为两大类。 低进制转到高进制,也就是我们上边详细讨论的。我们只需要把权重用高进制的数去表示,然后在某个进制下进行相乘相加即可。 以十进制和二进制转换为例。 已知左边,就是低进制到高进制。已知右边,就是高进制到低进制。 左边权重的幂次的底决定了低进制是多少。 相乘相加在多少进制下进行,决定了最终转为了多少进制

    89420编辑于 2022-08-20
  • 来自专栏小沐沐吖

    进制转换问题

    以:整型数据类型的整数-为例 十进制-二进制 正数 十进制数除以2取余数; 余数倒叙排列; 得到得数字串即为十进制数对应得二进制数 示例:(30) 30(十进制) ===> 11110(二进制) 负数 将十进制转换为二进制数(不先管符号) 对该二进制数求反:0改成1、1改成0 再将该二进制数加1 总之就是将十进制转换为二进制数求补码即为结果 示例:(-32) 32(十进制) = 00100000 (二进制) 求反:11011111 加1: 11100000 结果:11100000(二进制) 二进制--十进制 首先将二进制数补齐位数(8位),首位如果是0就代表是正数,如果首位是1则代表是负数 正数 负数 首先对该二进制数求反:0改成1、1改成0 再将该二进制数减1 按正数的计算方法求和取相反数即为对应的负数(十进制) 示例: 10010110(二进制) = -104(十进制) 求反:01101001 减1:01101000 结果:-104(十进制)

    1.1K30编辑于 2022-09-09
领券