进制转换【最全进制转换汇总】(整数

您所在的位置:网站首页 16进制怎么算举例 进制转换【最全进制转换汇总】(整数

进制转换【最全进制转换汇总】(整数

2024-07-04 03:10| 来源: 网络整理| 查看: 265

文章目录:

补充知识点:各进制符号表示及其关系——二进制(B)、八进制(O)、十进制(D)、十六进制(前缀OX,后缀H)

扩展:在线进制转换

第一部分:正数 

一:十进制转其它

1.【整数】正数十进制转任意进制:辗转相除取余,直到结果位1位置,加上最后的1倒叙输出

2.【小数】正数十进制转任意进制:辗转相乘取余,取出整数部分,直到小数的十分位为0为止,倒叙输出整数部分;小数点前一位表示正负号【1负,0正】 

二:其它转十进制 

1.【整数】正数任意进制转十进制:从最后一位倒叙开始,分别乘以任意进制的0、1、2...n 次方,最后相加

2.【小数】 正数任意进制转十进制:从左到右,分别乘以任意进制的0;-1;-2;-3;-4;-5...... ...n 次方,最后相加

三:8421方法

1.低转高 

2.高转低

第二部分:负数  

什么是原码?

什么是反码?

什么是补码?

什么是移码?

一:十进制转其它 

1.【整数】 十进制负数转化成任意进制负数 

方法一:(看是8位,16位,32位,64位;在前面补0到规定位数)【直接写全位数,最高位加上1】

方法二:(看是8位,16位,32位,64位;在前面补0到规定位数)【先变成正数,用正数去化,最后变回负数】

2.【小数】 十进制负小数转化成任意进制负小数

方法一:负整数部分和负小数部分分开计算转换【分开看】

方法二:先把负小数看成正小数再转换【整体看】

二:其它转十进制 

1.【整数】任意进制负数转化成十进制负数【和上面互逆操作】

2.【小数】任意进制负小数转化成十进制负小数【和上面互逆操作】

在这里对进制转换进行一个全方位的总结,具体如下

以下数据均来自网络 

补充知识点:各进制符号表示及其关系——二进制(B)、八进制(O)、十进制(D)、十六进制(前缀OX,后缀H) 【B表示】2进制逢2进1用两个阿拉伯数字:0、1【O表示】8进制逢8进1用八个阿拉伯数字:0、1、2、3、4、5、6、7【D表示】10进制逢10进1用十个阿拉伯数字:0到9【OX/H表示】16进制逢16进1

但我们只有0~9这十个数字,我们用A,B,C,D,E,F这六个字母来分别表示10,11,12,13,14,15

字母不区分大小写

扩展:在线进制转换

在线工具:进制转换 - 在线工具

在线进制转换器:在线进制转换器 转换器网

C在线工具:在线进制转换

tool:在线进制转换

第一部分:正数  一:十进制转其它 1.【整数】正数十进制转任意进制:辗转相除取余,直到结果位1位置,加上最后的1倒叙输出

十进制整数转换为R进制数的规则,除R取余,反向连接 ;也可以用8421的方法

例如:十进制转二进制

用2辗转相除取余至到结果为1,将余数和最后的1从下向上倒序写就是结果

2.【小数】正数十进制转任意进制:辗转相乘取余,取出整数部分,直到小数的十分位为0为止,倒叙输出整数部分;小数点前一位表示正负号【1负,0正】 

十进制小数转化为R进制数的规则:乘R取整,看小数部分的余数,正向连接  

例如:十进制转二进制0.36

注意:小数点前一位表示正负号【1负,0正】 

0.111010

二:其它转十进制  1.【整数】正数任意进制转十进制:从最后一位倒叙开始,分别乘以任意进制的0、1、2...n 次方,最后相加

基数为R的数字,只要将各位数字与它的权相乘,其积相加,和数就是十进制数 

例如:二进制转十进制

从最后一位开始算,依次列为第0、1、2...n 位,第n位数(0或1)分别乘以2的n次方,最后相加就是结果

 例如:八进制转十进制

 

例如:十六进制转十进制

2.【小数】 正数任意进制转十进制:从左到右,分别乘以任意进制的0;-1;-2;-3;-4;-5...... ...n 次方,最后相加

例如:二进制转十进制0.10010

0-1-0-0-1-0

0;-1;-2;-3;-4;-5...... 

三:8421方法

特点

基于二进制:占位就用1 没有占位就用0

 使用方法

十进制中使用  ..128 64 32 16 8 4 2 1 八进制、十六进制... 中使用 看是(2^n)次方  比如 8=2^3 16=2^4 1.低转高 

例如:二进制转八进制(2^3)

先了解二进制数与八进制数之间的对应关系。有个方法,把二进制的数从右往左,三位一组,不够补0

例如:二进制转换十六进制(2^4)

参照二进制转八进制,但是它是从右往左,四位一组,不够补0

2.高转低

例如:八进制转二进制(2^3)

从后往前,每一位按十进制转化为三位二进制,缺位补0

第二部分:负数  

在进行负数先关进制转化前,我们先来了解一下源码,补码,反码! 

什么是原码?

用符号位和数值表示带符号数,数值部分用二进制形式表示

正数:符号位用“0”表示 负数:符号位用“1”表示 正数 负数 真值: + - 机器数: 0 1

例如:

  5的原码: 00000000 00000000 00000000 00000101;

 -5的原码:10000000 00000000 00000000 00000101;【最高位补1】

原码与反码转换

原码 => 反码 = 符号位不变,数值位分别“按位取反” 反码 => 原码 = 符号位不变,数值位分别“按位取反”

 原码与补码转换

原码 => 补码 = 反码 + 1 补码 => 原码 = (补码 -1)取反码 = 补码的反码 + 1 补码的补码等于原码 什么是反码? 正数的反码:与原码相同 负数的反码:对该数的原码除符号位外各位取反 ——(1变0; 0变1): 原为1,得0; 原为0,得1;

例如:

正数00000000 00000000 00000000 00000101 的——反码还是 00000000 00000000 00000000 00000101 ;

负数10000000 00000000 00000000 00000101每一位取反(除开符号位)——得反码11111111 11111111 11111111 11111010;【互为反码】

什么是补码? 正数的补码:都与原码相同 负数的补码:对该数的原码除符号位外各位取反,然后在最后一位加1 正零和负零的补码相同,[+0]补=[-0]补=0000 0000B

 例如:

11111111 11111111 11111111 11111010 + 1 = 11111111 11111111 11111111 11111011【-5】

最后转换为十六进制:0xFFFFFFFB

什么是移码?

 补码的基础上将符号位取反(注意:移码只能用于整数)常用来表示浮点数的阶码

一:十进制转其它  1.【整数】 十进制负数转化成任意进制负数  方法一:(看是8位,16位,32位,64位;在前面补0到规定位数)【直接写全位数,最高位加上1】

例如:十进制负数-5转化成十六进制

原码:10000000 00000000 00000000 00000101 反码:11111111 11111111 11111111 11111010 补码:11111111 11111111 11111111 11111011 进制转换:0xFFFFFFFB

例如:十进制负数-1转化成十六进制

原码:10000000 00000000 00000000 00000001 反码: 11111111 11111111 11111111 11111110 补码:11111111 11111111 11111111 11111111 进制转换:0xFFFFFFFF 方法二:(看是8位,16位,32位,64位;在前面补0到规定位数)【先变成正数,用正数去化,最后变回负数】

例如:十进制负数-1转化成二进制

第一步:把负数看成正数

-1看成1

第二步:得原码(辗转相除法,进制关系规则法)【看是8位,16位,32位,64位;在前面补0到规定位数】

原码:0000 1001

第三步:原码取反,得反码

反码:1111 0110

第四步:反码加1,得补码

补码:1111 0111

例如:十进制负数-3转化成二进制 

原码:0000 0000 0000 0000 0000 0000 0000 0011 【3的原码】 反码:1111 1111 1111 1111 1111 1111 1111 1100 补码:1111 1111 1111 1111 1111 1111 1111 1101 

例如:十进制负数-5转化成二进制 

原码:0000 0101【5的原码】 反码:1111 1010 补码:1111 1011

例如:十进制负数-11转化成二进制  

原码:00001011【11的原码】 反码:11110100 补码:11110101  2.【小数】 十进制负小数转化成任意进制负小数

负小数的原码,补码,反码和移码怎么算

注意:小数点前一位表示正负号【1负,0正】 

例如:十进制负小数转二进制-0.3125

第一步:负整数部分是0不必求,如果是就分开求

第二步:求负小数部分,辗转相除法,乘上转化的进制,到十分位为0为止

0.3125*2=0.625;整数部分是0

0.625*2=1.25,去掉整数部分;整数部分是1

0.25*2=0.5;整数部分是0

0.5*2=1.0;小数点后为0;整数部分是1

第三步:顺叙输出整数部分

0、1、0、1

第四步:加上正负号【1负,0正】 

1.0101

验证:2^-2+2^-4=0.25+0.0625=0.3125

反码:1.1010

补码:1.1011

上面负整数一个是直接写出全位数;一个是看作正数取 

方法一:负整数部分和负小数部分分开计算转换【分开看】

第一步:分别求负整数部分+负小数部分

第二步:负整数部分的补码+负小数部分的补码

方法二:先把负小数看成正小数再转换【整体看】

第一步:如果看成正小数,就要知道,小数的原码

第二步:整数和小数分别的原码

第三步:整数和小数分别的反码

第四步:整数和小数分别的补码

第五步:最后补码相加

二:其它转十进制  1.【整数】任意进制负数转化成十进制负数【和上面互逆操作】

例如:二进制负数转化成1110 1101十进制负数

第一步:先减1

1110 1101-1=1110 1100

第二步:取反

0001 0011

第三步:将取反后的码,转换成十进制,然后相加

0 0 0 1 0 0 1 1

         4 3 2 1 0

1*2^4+1*2^1+1*2^0=19

第四步:加上负号得到十进制负数

-19

例如:二进制负数转化成1111 0011十进制负数

减一:1111 0010 取反:0000 1101 转十相加:1*2^3+1*2^2+1*2^0=13 加负号:-13 2.【小数】任意进制负小数转化成十进制负小数【和上面互逆操作】

负小数前面小数部分是1开头

从左到右,分别乘以任意进制的0;-1;-2;-3;-4;-5...... ...n 次方,最后相加

例如:负二进制小数1.10010转负十进制小数

1-1-0-0-1-0

1*2^0+1*2^(-1)+1*2^(-4)=1.5625



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3