-
2017-12-25 16:27:13
十进制转换为其他进制
语法:
NumberObject.toString(radix)
其中,radix
可选,表示数字的基数(进制),是2-26间的整数。默认为10。将十进制转换为二进制:
console.log(Number(100).toString(2)); //'1100100'
其他进制转换为十进制
语法:
parseInt(string,radix)
参看文章parseInt与parseFloat更多相关内容 -
go数值进制转换
2020-08-20 20:13:41要实现进制转换,go语言为我们提供了很简单的接口供我们调用,如下: func main() { var v int64 = 12 //默认10进制 s2 := strconv.FormatInt(v, 2) //10 转2进制 fmt.Printf("%v\n", s2) s8 := strconv....要实现进制转换,go语言为我们提供了很简单的接口供我们调用,如下:
func main() { var v int64 = 12 //默认10进制 s2 := strconv.FormatInt(v, 2) //10 转2进制 fmt.Printf("%v\n", s2) s8 := strconv.FormatInt(v, 8) fmt.Printf("%v\n", s8) s10 := strconv.FormatInt(v, 10) fmt.Printf("%v\n", s10) s16 := strconv.FormatInt(v, 16) //10 yo 16 fmt.Printf("%v\n", s16) var sv = "11" fmt.Println(strconv.ParseInt(sv, 16, 32)) // 16 to 10 fmt.Println(strconv.ParseInt(sv, 10, 32)) // 10 to 10 fmt.Println(strconv.ParseInt(sv, 8, 32)) // 8 to 10 fmt.Println(strconv.ParseInt(sv, 2, 32)) // 2 to 10 }
-
Python实现的进制转换器
2018-12-23 15:49:59Python实现的进制转换器#1、十六进制以内实数任意进制对任意进制的转换 #2、小数位数超过十位保留十位小数 #3、包含负数的转换(是数值的转换而不是补码) #4、能够实现更高进制的转换:直接增加waitNumber中的字母... -
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制
2021-01-20 02:29:25这篇文章主要介绍了使用Python内置函数:bin()、oct()、int()、hex()可实现进制转换的一些用法,需要的朋友可以参考下 使用Python内置函数:bin()、oct()、int()、hex()可实现进制转换。 先看Python官方文档中对这几... -
CE和进制转换.zip
2021-04-12 10:59:27用于修改游戏等数据 -
Labview各种数据类型进制转换
2018-11-23 09:41:41包含ASIIC、16进制,数值,字符串互转;二进制,十六进制互转;十进制显示的十六进制格式字符串转Labview所识别的十六进制,通讯下位机必备技能。总共8个VI! -
C语言用栈实现十进制转换为二进制的方法示例
2020-08-30 08:14:24主要介绍了C语言用栈实现十进制转换为二进制的方法,结合实例形式分析了C语言栈的定义及进制转换使用技巧,需要的朋友可以参考下 -
32位进制转换计算器v1.0.5
2020-03-13 16:22:16使用VB编写的进制转换器,支持32位位宽数据的操作并具有以下功能: 1. 十进制 十六进制 二进制 互转 2. 左移 右移操作 (新增功能) 3. 连续地与操作, 或操作, 异或操作 (新增功能) 4. 统计结果数值中1的个数用与... -
数值进制转换工具 2.1
2009-09-06 11:36:58详细介绍:可以实现二进制/十进制/ 十六进制 之间的相互转换,并可以对应生成单片机使用的c51十六进制代码! v2.1 修改最小化bug 增加ASCII代码表. -
易语言将十进制数值转换为十六进制文本的方法
2020-08-26 19:57:28今天小编就为大家分享一篇关于易语言将十进制数值转换为十六进制文本的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧 -
进制转换及原理
2020-07-11 21:54:262)10进制转换为任意进制 3)任意进制的转换 4)大数的进制转化 一.任意进制转化为10进制: 原理: 这个最好理解。首先要理解:不同数位的权重不同 以一个十进制数186为例: 个位上的6代表的值是6×,...contents:
1)任意进制转化为10进制
2)10进制转换为任意进制
3)大数任意进制转化
一.任意进制转化为10进制:
原理:
这个最好理解。首先要知道:不同数位的权重不同
以一个十进制数186为例:
个位上的6代表的值是6×
,即6;
十位上的8代表的值其实是8×
,即80;
百位的1同理代表1×
,即100;
可见不同数位上,即便数字相同,其所代表的值也不同,这就是权重的含义。
再以一个二进制数1111为例:
最低位的1代表的值是1×
,即1;
第二位的1代表的是1×
,即2;
第三位的1代表的值是1×
,即4;
第四位的1代表的值是1×
,即8;
同样是1,但因为所处数位不同,其所代表的数值也不同。
要将上述的1111转化为十进制很简单:
首先如上计算出各个数位上的数的真实数值。
二进制不像我们熟悉的十进制那么直观。比如186这个数,十位上的8我一眼就能知道它代表的是80;其他进制则需要我们通过计算得到各个数位上真实的值,如二进制下1111的四个1真实数值分别为1,2,4,8;
再求和即得其十进制的表示法:1+2+4+8=15;
二进制的1111和十进制的15在数值上其实是一样的,但是因为采用了不同的进制所以表示方法不同;
1×
+1×
+1×
+1×
=1×
+5×
从上例我们就可以看出将任意进制转化为10进制的方法;
根据每个数位的权重,算出该数位上的数实际表示的值,然后求和;
比如十六进制数1E(十六进制中E表示14):
=1×
+14×
=
;
可以发现,在任一进制下,随着数位的增加,其权重必然也会增加。而不同进制的区别可能就在于,它们权重随数位的递增量不同。
下附十六进制转十进制代码:
long long base_conversion(char s[]){ long long base=1; long long ret=0; for(int i=strlen(s)-1;i>=0;i--){ if(s[i]>='A'&&s[i]<='F') ret+=((s[i]-'A'+10)*base); else ret+=(s[i]-'0')*base; base*=16; } return ret; } int main() { char s[10];//因为十六进制数可能含A~F,所以用字符串来存储十六进制数 cin>>s; cout<<base_conversion(s); return 0; }
二.10进制转换为任意进制
除数取余法(模n取余法):
以将十进制的12转化为二进制为例:
1) 12%2=0 ………………0
2)12/2=6 6%2=0 ………………0
3) 6/2=3 3%2=1 ………………1
4) 3/2=1 1%2=1 ………………1
5) 1/2=0
所以12的二进制表示就是1100
将十进制的30转化为八进制:
1) 30%8=6………………6
2)30/8=3 3%8= 3………………3
3)3/8=0
所以30的八进制表示就是36
原理:
一个任意的整数 都可以表示以10为底的幂组成的多项式:
例:386=3×
+8×
+6×
; 42=4×
+2×
;
不难发现,10的k次幂前的系数就是原数第k+1位上的数
而以386=3×
+8×
+6×
=10×(3×
+8)+6为例
可以看到我们对386除以10后得到的余数就是其个位上的数字6
因为除了以6为系数的这一项,其他项起码含一个10的因子。
根据这个定理,我们只要对一个整数不断地除以10,然后用商做下一次运算的被除数就可以得到这个整数个位,十位,百位……上的数字
同样的,一个任意的整数 也可以表示为以2为底的幂组成的多项式:
例:137=1×
+0×
+0×
+0×
+1×
+0×
+0×
+1×
由这个多项式可直接得到137的二进制表示:10001001
和10进制一样,除了最低位,其他项都是2的倍数,我们对137除以2得到的余数就是其最低位上的数字。
所以我们只要对一个整数除以2取余数,再不断取商做下一次运算即得其二进制表示;
其他进制也都是一样的(下以十进制转十六进制为例):
#include<bits/stdc++.h> using namespace std; int main() { int x,cnt=0; char ans[10]; cin>>x; while(x){ int temp=x%16; if(temp<=9) ans[cnt++]=temp+'0'; else ans[cnt++]=temp-10+'A'; x/=16; } if(cnt==0) cout<<'0'; for(int i=cnt-1;i>=0;i--) cout<<ans[i]; return 0; }
三.大数任意进制的转换
任意进制转换其实很简单,因为我已经写了任意进制转十进制以及十进制转任意进制的办法;所以我们只要以十进制为中介,就能实现任意进制的转换。
难点就在大数上。
当一个数字过大时,C语言中我们只能用字符串来存储它。
这在计算上带来了很大的麻烦。
一个任意进制转换为十进制需要大量的大数乘法和大数求和;
而十进制转换为任意进制更难,需要做很多大数的取模运算。
我们可以使用高精度计算来解决,在某些情况下却也有更简便的方法。
下以十六进制转换为八进制来举例:
在将十六进制转换为八进制时,我们可以用二进制作为媒介,它相比之前讲过的方法更简单。
1)将十六进制转换为二进制
将每个十六进制的数,转换为一个四位的二进制数即可。
比如7转换为0111,A转换为1010。
那么十六进制的7A转换为二进制就是01111010,再去掉前导0即可。
2)将二进制转换为八进制
从低位开始,不断取三位二进制数合成一个八进制数,其实相当于上述运算的逆运算。
比如上面的1111010:
先取低位的三个数字010,转换为八进制即2。
再取111,转换为八进制即7。
最后不足三位了,只剩一个1,看成001即可,转换为八进制即1。
结果:172。
经验算可得十六进制的7A,二进制的1111010,八进制的172表达的数值都是相同的,即十进制的122。
下附代码(用到了双向队列deque):
#include <bits/stdc++.h> using namespace std; int main() { string s; cin>>s;//读入十六进制数 deque<int>q,ans; for(int i=0;i<s.size();i++){//逐位计算 int temp;//temp用于计算每位十六进制数对应的十进制表达 if(s[i]>='0'&&s[i]<='9') temp=s[i]-'0'; else temp=s[i]-'A'+10; //再将十进制转换为二进制,模二取余法即可 int a[4]; for(int cnt=3;cnt>=0;cnt--){ a[cnt]=temp%2; temp/=2; } //再将结果存入双向列表q中 for(int i=0;i<4;i++) q.push_back(a[i]); } //以上实现了十六进制到二进制的转换 while(!q.empty()){ int num;//num表示要取的个数 q.size()<3?(num=q.size()):(num=3); //最后不足三位时,还剩几位取几位 int temp=0,t=1; for(int i=0;i<num;i++){ temp+=(q.back()*t); q.pop_back(); t*=2; } //用temp存储,转化为了八进制 ans.push_front(temp);//存入答案 } if(ans.front()==0)//如果含有前导0要去掉 ans.pop_front(); while(!ans.empty()){ cout<<ans.front(); ans.pop_front(); } cout<<endl; } return 0; }
-
Python3 基础学习之数值进制转换
2018-01-20 15:59:06上篇文章介绍了二进制、八进制、十六进制数值的输入,输出是十进制。 下面主要学习二进制、八进制、十进制、十六进制的转换。 先看下转换函数: int(x, n) 这个函数在上篇里表示强转,并没有输入n这个...上篇文章介绍了二进制、八进制、十六进制数值的输入,输出是十进制。
下面主要学习二进制、八进制、十进制、十六进制的转换。
先看下转换函数:
int(x, n)
这个函数在上篇里表示强转,并没有输入n这个参数。当n不输入的时候默认是n=10。
这个函数的作用是将字符串X,按照N进制输出成十进制。
example:
>>> int("1001",2) 9
>>> int("0b1001",2) 9
>>> int("15",8) 13
>>> int("1a",16) 26
bin():
十进制转二进制
example:
>>> bin(9) '0b1001'
oct():十进制转8进制
example:>>> oct(15) '0o17'
hex():
十进制转16进制
example:
>>> hex(26) '0x1a'
总结:最后看别人的一张表,梳理的很清楚
↓ 2进制 8进制 10进制 16进制 2进制 - bin(int(x, 8)) bin(int(x, 10)) bin(int(x, 16)) 8进制 oct(int(x, 2)) - oct(int(x, 10)) oct(int(x, 16)) 10进制 int(x, 2) int(x, 8) - int(x, 16) 16进制 hex(int(x, 2)) hex(int(x, 8)) hex(int(x, 10)) -
-
数据结构课程设计-数值进制转换,学生成绩管理系统
2008-12-27 14:36:27数值进制转换,有截图 学生成绩管理系统 都有代码 -
进制转换1.2
2016-04-30 07:50:57进制转换1.2是进制转换1.1的升级版本,可在二进制、十进制、十六进制之间互转。 1.2版相对于1.1版更新 1、优化二进制格式化显示。 2、增加十六进制格式化显示。 3、去掉多余的无用功能,精简优化代码,使编译后的... -
C++实现十六进制字符串转换为十进制整数的方法
2020-09-03 13:39:33主要介绍了C++实现十六进制字符串转换为十进制整数的方法,涉及C++字符串与数制转换的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下 -
【Python 多进制转换】——数值多进制转换bin、oct、int、hex(2进制、4进制、8进制、10进制、16进制、32...
2022-02-09 16:02:42提取码:tha8 进制转换计算工具含源文件 导入模块 import tkinter from tkinter import * import tkinter as tk from tkinter.ttk import * 整个框架的主结构 root = Tk() root.title('贱工坊-进制转换计算'... -
易语言36进制转换模块
2020-07-18 07:30:39易语言36进制转换模块源码,36进制转换模块,十到其他进制,其他进制到十进制,文本到数值,进制转换 -
32位进制转换计算器v1.0.7.exe
2020-03-17 15:24:25使用VB编写的进制转换器,支持32位位宽数据的操作并具有以下功能: 1. 十进制 十六进制 二进制 互转 2. 左移 右移操作 3. 连续地与操作, 或操作, 异或操作 4. 统计结果数值中1的个数用与辅助测试奇偶校验 6. ... -
Python3内置函数chr和ord实现进制转换
2020-12-17 17:37:501. chr(x):用一个数值作参数,返回一个对应的unicode字符,该参数的有效范围是从0到1114111(16进制时为0x10FFFF),参数可以是十进制,也可以是十六进制。 print(chr(105)) # ---> i print(chr(0x9980)) # ---&... -
c语言实现一个进制转换程序
2018-08-19 14:55:45可以实现常见的进制转换,例如将十进制转换成八进制等形式。 下面是实现代码 #include "stdafx.h" #include"math.h" #include"stdlib.h" int _tmain... -
进制数值转换(附带小数点的进制转换)
2020-06-23 15:04:141. 十进制—二进制 Ø 十进制→二进制 § 整数部分:除二取余,商继续除二取余,逆序排列 § 小数部分:乘二取整,小数部分继续乘二取整,顺序排列 Ø 二进制→十进制 § 整数部分:加权做乘法并相加($2^0$)... -
进制转换,进制转换器,C,C++
2021-09-10 23:21:44十进制、十六进制、二进制互相转换的VC++程序,在任一个输入框中输入对应的进制数,程序会计算出所对应的其它两个进制的数值 -
js数字进制转换
2018-06-24 21:09:00其他进制转十进制: 使用 parseInt()函数,parseInt解析一个字符串参数,并返回一个指定基数的整数 ,用法如下: parseInt(string, radix);以二进制为例,用法如下:parseInt('1000',2) //8 parseInt(1000,2) //8... -
javascript简单进制转换实现方法
2020-10-21 01:40:09主要介绍了javascript简单进制转换实现方法,涉及javascript字符串转换与数值操作相关技巧,需要的朋友可以参考下 -
进制转换试题
2021-07-21 05:03:591. 计算机基础试题十进制数100.6875转换成二进制数为(),十六进制数表示为()如果忽略小数点1006875... 进制转换练习题1、3*512+7*64+4*8+5=2021=(11111100101) 选B2、选D假设这是2进制回则写成0101.0101 10000101=5(... -
关于Labview串口通讯的进制转换
2020-05-23 11:33:08解决此方法需要正常显示和16进制强制转换,那么现在我们就来分析一下如何转换并得到正确的数据。 那么何问正常显示?何为16机制显示? 正常显示:可打印字符以控件字体显示。 16进制显示:每个字符显示为其十六... -
Python常用数据之间的转换与数值进制之间的转换
2020-09-14 23:43:39数值进制之间的转换摘要十进制与二进制转换十进制与八进制转换十进制与十六进制转换总结图片表格 一.常用数据之间的转换 摘要 在日程编程的过程中,经常会进行一些数据之间的转换。本文主要针对二进制,字符串,字节... -
进制如何转换?原理是什么?
2019-10-18 11:09:50好了,言归正传,趁着空闲的时间,我温习了一下进制原理和转换,感觉自己再不去看看,大学学的都要丢了。 一、名词介绍 进制:也叫进位计数制,是人为定义的带进位的计数方法,故亦称进位记数法/位值计数法,... -
基于C语言的各进制转换计算器程序设计
2020-02-06 23:01:34作为一名嵌入式程序员,进制转换是入门必修课,而学习计算机也是必须要懂的最基础知识。在很多博客上曾找到很多关于进制转换的程序例程,大多是根据自己需求的。要是能和win10计算器那样,只要输入一个进制数,其他... -
c语言进制之间的转换
2020-04-16 09:36:18c语言进制之间的转换一、二进制八进制十六进制转十进制二、十进制转换为二进制八进制十六进制1 整数部分2 小数部分三、 二进制、八进制和十六进制的转换1、二进制整数和八进制整数之间的转换2、二进制整数和十六进制...