进制转换【最全进制转换汇总】(整数 |
您所在的位置:网站首页 › 16进制怎么算举例 › 进制转换【最全进制转换汇总】(整数 |
文章目录: 补充知识点:各进制符号表示及其关系——二进制(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 |