精华内容
下载资源
问答
  • 今天来总结一下各种进制转换问题,详细齐全易于理解,希望对你有帮助哦! 先从我们最熟悉的十进制入手吧,其他进制与十进制的转换方法都是一样的,保证能全部记住!...一、十进制转换成二进制、八进制、十六进制

    今天来总结一下各种进制转换问题,详细齐全易于理解,希望对你有帮助哦!


    先从我们最熟悉的十进制入手吧,其他进制与十进制的转换方法都是一样的,保证能全部记住!

    整型有4种进制形式:
    1.十进制: 都是以0-9这九个数字组成,不能以0开头。
    2.二进制: 由0和1两个数字组成。
    3.八进制: 由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始。
    4.十六进制:由0-9和A-F组成。为了区分于其他数字的区别,开头都是以0x开始。

    先来贴一张进制转换表:
    在这里插入图片描述

    一、十进制转换为二进制、八进制、十六进制

    整数转换

    1、十进制转二进制

    (1)十进制转二进制的转换原理:除以2,反向取余数,直到商为0终止。
    (2)具体做法:

    将某个十进制数除2得到的整数部分保留,作为第二次除2时的被除数,得到的余数依次记下,重复上述步骤,直到整数部分为0就结束,将所有得到的余数最终逆序输出,则为该十进制对应的二进制数。
    例如:9(十进制)→1001(二进制)
    在这里插入图片描述

    2、十进制转八进制

    (1)转换原理:除以8,反向取余数,直到商为0终止。

    (2)具体步骤与二进制一样

    例如:十进制数796转换成八进制数:
    将796除8取得第一个余数为4,将除8得到的整数部分99作为第二次的被除数,重复上述步骤,直至最终整数部分为0就结束。将取得的所有余数逆序输出
    则为:796–>1434
    在这里插入图片描述

    3、十进制转十六进制

    (1)转换原理:除以16,反向取余数,直到商为0终止。
    (2)具体步骤也和二进制、八进制一样,重复上述做法即可得到十六进制数。
    例如:十进制数796转换为十六进制数
    即为:796–>31c
    在这里插入图片描述

    需要注意的是,十六进制数是由0-9和A-F(或者a-f)组成的,A相当于十进制中的10,B相当于11,依次类推,F相当与15,上述事例中取得的余数12即为十六进制中的c

    总结:以上几种进制的整数部分转换原理都是除进制数取余数,倒序输出

    再来贴一张小数部分进制表
    在这里插入图片描述

    小数部分转换

    1、十进制转二进制

    (1)原理:十进制小数转换成二进制小数采用 “乘2取整,顺序输出” 法。

    例题: 0.68D = ______ B(精确到小数点后5位)
    如下所示,0.68乘以2,取整,然后再将小数乘以2,取整,直到达到题目要求精度。得到结果:0.10101B.
    例如:十进制小数0.68转换为二进制数
    具体步骤:
    0.68* 2=1.36 -->1
    0.36* 2=0.72 -->0
    0.72* 2=1.44 -->1
    0.44* 2=0.88–>0
    0.88* 2=1.76 -->1
    已经达到了题目要求的精度,最后将取出的整数部分顺序输出即可
    则为:0.68D–>0.10101B

    2、十进制转八进制

    (1)原理:十进制小数转换成八进制小数采用 “乘8取整,顺序输出” 法。

    (2)思路和十进制转二进制一样,参考如下例题:

    例题: 10.68D = ______ Q(精确到小数点后3位)
    解析:如下图所示,整数部分除以8取余数,直到无法整除。小数部分0.68乘以8,取整,然后再将小数乘以8,取整,直到达到题目要求精度。得到结果:12.534Q.

    例如:十进制数10.68转换成八进制数,分为整数部分和小数部分求解
    步骤:
    (1)整数部分
    10/8=1 -->2
    1/8=0 -->1
    倒序输出为12
    (2)小数部分
    0.68* 8=5.44 -->5
    0.44* 8=3.52 -->3
    0.52* 8=4.16 -->4
    已经达到了题目要求的精度,即可结束
    则小数部分为:0.68–>0.534
    因此10.68D -->12.534Q

    3、十进制转十六进制

    (1)原理:十进制小数转换成十六进制小数采用 “乘16取整,顺序输出” 法。
    (2)思路也是一样的,就不重复了
    例题: 25.68D = ______ H(精确到小数点后3位)

    解析:如下图所示,整数部分除以16取余数,直到无法整除。小数部分0.68乘以16,取整,然后再将小数乘以16,取整,直到达到题目要求精度。得到结果:19.ae1H.
    (1)整数部分
    25/16=1 -->9
    1/16=0 -->1
    倒序输出为:19
    (2)小数部分
    0.68* 16=10.88 -->a(即十进制中的10)
    0.88* 16=14.08 -->e
    0.08* 16=1.28 -->1
    已经达到了要求的精度,顺序输出为:ae1
    则:25.68D -->19.ae1H

    总结:小数部分转换原理都是乘进制数取整数部分,再将整数部分顺序输出。

    二、 二进制、八进制、十六进制转换为十进制

    整数转换

    1、全部总结如下:
    在这里插入图片描述
    2、三者转换原理都是一样的

    例子说明:
    在这里插入图片描述

    小数部分转换

    1、二进制转十进制

    (1)原理:整数部分按上述进行操作即可,小数部分从小数点后一位指数为-1开始算起,以后依次为-2、-3……
    (2)具体运用以及步骤举例说明:

    在这里插入图片描述

    2、八进制转十进制

    (1)原理:整数部分操作以及运算不变,小数部分同二进制类似,将2改为8即可
    (2)具体步骤方法如下:

    例如:八进制数72.45转换成十进制数
    步骤:
    (1)整数部分:
    7* 8^1+ 2* 8 ^0=58
    (2)小数部分
    4* 8^(-1) + 5* 8^(-2)=0.5+0.078125=0.578125
    则为:72.45 -->58.578125

    3、十六进制转十进制

    (1)原理:整数运算一样,小数部分换成16即可
    (2)具体方法步骤如下:

    例:1A6.3B8=1* 16^2+A* 16 ^1+6* 16 ^0 +3* 16 ^(-1)+B* 16 ^(-2)+8* 16 ^(-3) =422.232422

    总结:以上二进制、八进制、十六进制转换为十进制当中的整数部分从右往左指数从0开始递增,小数部分从左往右从-1开始递减,原理都是一样的。

    三、 二进制转换成八进制数、十六进制数

    1、二进制转换成八进制
    原理:“三合一” 取二进制数中的三位合为八进制数的一位

    2、二进制转换成十六进制
    原理:“四合一” 取二进制数中的四位合为十六进制数的一位

    例子说明:

    二进制数1010 0100B转换成八进制数为244Q在这里插入图片描述
    二进制数1010 0100B转换成十六进制数为:a4H
    在这里插入图片描述

    再来贴个例子:

    在这里插入图片描述

    四、八进制、十六进制转换成二进制

    1、八进制数转换成二进制
    原理:八进制数的一位是二进制数的三位

    2、十六进制数转换成二进制
    原理:十六进制数的一位是二进制数的四位

    在这里插入图片描述

    五、八进制与十六进制之间的转换

    这两者之间的转换可以借助十进制或者二进制完成,可以先将八进制转换成十进制或二进制,再转换成十六进制。通过间接转换来实现。

    以上就是所有常用进制转换,包括整数部分和小数部分,已经是很详细了,个人觉得通过例子来理解是最好的方法,记住进制转换的一些原理和规律,换成其他进制也是一样的用。关于进制转换问题是比较基础的,所以一定要掌握哦!

    希望我的文章对你有所帮助,嘻嘻!若有错误的地方还望大家批评指正,谢谢大家阅读!
    在这里插入图片描述

    展开全文
  • #二进制转化成十六进制print("请输入一个二进制数\n")SUM1=[]SUM2=[]A=0B=0int1=[]#整数部分存放处float1=[]#小数部分存放处a1=int(input("请输入二进制的整数部分"))print("a1=",a1)#整数部分a2=input("请输入二...

    #二进制转化成十六进制

    print("请输入一个二进制数\n")

    SUM1=[]

    SUM2=[]

    A=0

    B=0

    int1=[]#整数部分存放处

    float1=[]#小数部分存放处

    a1=int(input("请输入二进制的整数部分"))

    print("a1=",a1)#整数部分

    a2=input("请输入二进制的小数部分")

    print("a2=",a2)

    for x in a2:

    float1.append(int(x))

    while(a1&gt=1):

    int1.append(a1%10)

    a1=a1//10

    print("int1=",int1)

    print("float1=",float1)

    def sumint(v):

    j=0

    summ=0

    for i in v:

    summ=summ+i*(2**j)

    j=j+1

    if summ==10:

    summ="A"

    if summ==11:

    summ="B"

    if summ==12:

    summ="C"

    if summ==13:

    summ=""

    if summ==14:

    summ="E"

    if summ==15:

    summ="F"

    return summ#输入四位二进制,输出一个十六进制

    int2=[]

    while(A&ltlen(int1)):

    i=int1[A]

    int2.append(i)

    if len(int2)==4:

    print(int2)

    SUM1.append(sumint(int2))

    int2=[]

    elif A+1==len(int1):

    print(int2)

    SUM1.append(sumint(int2))

    else:

    pass

    A=A+1

    #整数部分

    float2=[]

    while B&ltlen(float1):

    I=float1[B]

    float2.insert(0,I)

    if len(float2)==4:

    SUM2.append(sumint(float2))

    float2=[]

    elif B+1==len(float1):

    if len(float2)==1:

    SUM2.append(8)

    if len(float2)==2:

    float2.insert(0,0)

    float2.insert(0,0)

    SUM2.append(sumint(float2))

    if len(float2)==3:

    float2.insert(0,0)

    SUM2.append(sumint(float2))

    B=B+1

    #小数部分

    print(SUM1)

    SUM1.reverse()

    print("最终求得的十六进制是",end=" ")

    for i in SUM1:

    print(i,end="")

    print(".",end="")

    for ii in SUM2:

    print(ii,end="")

    展开全文
  • 十进制转十六进制(C++语言实现) 十进制数字每位有十个可能的值:0-9。 而十六进制则是在这些数字的基础上加了A、B、C、D、E、F,这五个字母。 下面附上C++代码: #include <iostream> #include <string....

    十进制转十六进制(C++语言实现)

    十进制数字每位有十个可能的值:0-9。
    而十六进制则是在这些数字的基础上加了A、B、C、D、E、F,这五个字母。
    下面附上C++代码:

    #include <iostream>
    #include <string.h>
    using namespace std;
    
    int main()
    {
    	char ch[100];//用一个字符串类型的数组来存储十六进制数
    	int n, a, i = 0, j, t;
    	cin >> n;//输入一个十进制的数
    	t = n;
    	if (t == 0)
    	{
    		cout << "0";
    	}
    	else
    	{
    		while (n > 0)
    		{
    			a = n % 16;
    			if (a >= 0 && a <= 9)//此情况是余数在0~9之间
    			{
    				ch[i] = '0' + a;
    			}
    			else
    			{
    				ch[i] = 'A' + (a - 10);//此情况是余数在10~15之间
    			}
    			i++;
    			n /= 16;
    		}
    		for (j = i - 1; j >= 0; j--)//倒序输出
    		{
    			cout << ch[j];
    		}
    	}
    	return 0;
    }
    
    展开全文
  • C语言 十进制转十六进制

    千次阅读 2019-11-15 11:05:16
    一般系统中想打印16进制的数据可以使用printf("%x",d);等去打印,但是打印出来的数据如果比较长的话可读性就比较差,因此博主编写了一个能够在每两个数据之间添加一个空格,让16进制的数据可以性更高。 char * ...

    一般系统中想打印16进制的数据可以使用printf("%x",d);等去打印,但是打印出来的数据如果比较长的话可读性就比较差,因此博主编写了一个能够在每两个数据之间添加一个空格,让16进制的数据可以性更高。

    char *intToHex(int num)
    {
        static int i = 0;
        static char buffer[10];//根据自己需求改变数组的大小
        if (num < 16)            //结束递归添加的判断
        {
            if (num< 10)        //将当前数值转换成为字符并放入字符串
                buffer[i] = num + '0';
            else
                buffer[i] = num - 10 + 'A';
            buffer[i+1] = '\0'; //字符串结束标志
        }
        else
        {
            intToHex(num / 16);  //递归调用
            i++;                //字符串索引+1
            if(i%2 == 0){
            	buffer[i] = ' ';	//添加空格
            	i++;
            }
    		num %= 16;           //取余
    		if (num < 10)        //将当前数值转换成为字符并放入字符串
    			buffer[i] = num + '0';
    		else
    			buffer[i] = num - 10 + 'A';
        }
        return buffer;//转换完的数组
    }
    
    展开全文
  • python 十进制转十六进制(蓝桥杯)

    千次阅读 2020-02-26 13:53:55
    题目要求: 时间限制:1.0s 内存限制:512.0MB ...十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制 的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。 给出一个非...
  • python十进制小数转为十六进制我为什么要费这么多事话不多少,上程序 我为什么要费这么多事 因为最近工作的需要,要用python控制一个三轴直线模组,命令输入需要把十进制的小数转为十六进制,再从十六进制转为十进制...
  • 十六进制(Hexadecimal):在数学中是一种逢16进1的进位制。一般用数字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15。 十进制(Decimal System):每相邻的两个计数单位之间的进率都为十;十进制是中华民族的一...
  • 分享给大家供大家参考,具体如下:十进制小数 ⇒ 二进制小数乘2取整对十进制小数乘2得到的整数部分和小数部分,整数部分即是相应的二进制数码,再用2乘小数部分(之前乘后得到新的小数部分),又得到整数和小数部分。...
  • 二进制、八进制、十进制十六进制关系及转换

    万次阅读 多人点赞 2019-02-21 21:20:22
    二进制,八进制,十进制十六进制之间的关系是什么?浮点数是什么回事? 本文内容参考自王达老师的《深入理解计算机网络》一书&amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;中国水利水电出版社&amp;amp;amp;amp...
  • 用堆栈实现十进制十六进制的转化(支持长整型范围内的整数) 这个东西的实现主要分两个部分:正数部分和负数部分 (小数部分)要取整比较麻烦就没做,正数部分比较简单,十六进一;负数部分则略微麻烦一些,因为...
  • 我终于写完了 , 十进制转二进制的小数部分卡了我将近一个小时 上代码 #-*- coding: utf-8 from decimal import Decimal def bTod(n, pre=4): ''' 把一个带小数的二进制数n转换成十进制 小数点后面保留pre位...
  • 如何用c语言把十进制小数转换成二进制,八进制,十六进制。求代码?谢谢
  • 文章目录: 一:思路: 整数部分: 小数部分: 二:代码 三:运行结果 ...1.我们将整数和小数部分分离,分别进行转换 2. 先定义一个变量(必须大于等于0)和一个需要转化的进制变量(0~...2.小数部分*进制 取出整...
  • C语言中十六进制转十进制两种实现方法C语言 · 十六进制转十进制问题描述从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、...
  • 问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出. 注:十六进制数中的10~15分别用大写的英文字母A.B.C.D.E.F表示. 样例输入 FFFF 样例输出 65535 思路:感觉自己的下面两个方法...
  • 如何在JavaScript中将十进制值转换为等效的十六进制值?
  • Qt十六进制转十进制转ascii码,最近用的比较多,所以将它写成了内联函数 看代码: //返回16进制数的ascii码值 inline int ServeWidget::changefromHex_to_ascii(QString str) { QString str_hex = str; //获取十六...
  • java-十进制、八进制、十六进制数互相转换下面是一个十进制、八进制、十六进制数互相转换的小程序public class JZTurn {public static void main(String[] args) {int num2 = 1314521;System.out.println("十进制数:...
  • 3)将补码格式的十进制小数转换为有符号十六进制数 4)将生成的十六进制数写入.coe文件中 代码实现 % generate the random number for i = 1: 10 M(i,1)= (-1)^i *rand(1); end N = length(M); Radix = 16; Coeff...
  • 十进制与二进制的转换2.1对应关系2.2举例一:二进制1011转换十进制2.3举例二:二进制10111转换十进制2.3举例三:十进制45转换成二进制2.4举例四:十进制小数0.25转换成二进制3.八进制与二进制3.1对应关系3.2举例一:...
  • 要用到以下函数: 函数名 bin() oct() int() ... 取整函数(取整为十进制) ... 把其他进制整数转换成十六进制 浮点数转换函数 举例 bin(20) oct(20)
  • 需要对一个数字矩阵进行一个数据的归一化,把十进制数最终转化成3个比特的十六进制,也就是24位的数。 直接用 函数 dec2hex() 因为有负数和小数的存在,需要额外的处理,小数还比较好解决,根据设计,直接四舍五入...
  • 十进制小数转十六进制(浮点型16进制)C语言代码+2种方法!
  • 我编写了一个java程序,它应该将小数从1转换为256到十六进制,但问题是当我尝试小数超过256之后,我开始得到不正确的结果.这是我的代码:public class Conversion {public static void main(String[] args) {System.out...
  • 计算机进制转换:二进制、八进制、十进制十六进制 一、什么是进制 在生活中,我们通常都是使用阿拉伯数字计数的,也就是10进制,以10为单位,遇10进一,所以是由0,1,2、3、4、5、6、7、8、9组成的;而在计算机中...
  • //存储处理后的十六进制对应的十进制int top=0;//栈里面数据的个数int decimal=0;//小数点在输入字符串中的位置,从0号位置开始计数float num=0;//计算最后的十进制数printf("请输入十六进制(0-9,a-f,A-F):");while...
  • 1、背景(Contexts)之前使用SQL把十进制的整数转换为三十六进制,SQL代码请参考:SQL Server 进制转换函数,其实它是基于二、八、十、十六进制转换的计算公式的,进制之间的转换是很基础的知识,但是我发现网络上没有...
  • 十进制:211,八进制:323,十六进制:D3。二进制转十进制的转换原理:整数部分从二进制的右边第一个数开始,每一个乘以2的n次方,n从0开始,每次递增1。然后得出来的每个数相加即是十进制数。小数部分要使用“乘 2 ...
  • 这里采用如下方法进行实现:首先讲一下形成代码的理论思路:十进制小数转换为其他进制方法(以二进制为例):取小数点后的数乘以2,取整数部分(0或1)标在后面,然后再用乘以2之后的数的小数部分再乘以2,再取其整数...
  • 所谓2进制就是逢2进1,我们最熟悉的是10进制,即逢10进1,比如:0,1,2,3,4,5,6,7,8,9,然后进1就是:10,11,12,13……,所以2进制就是:0,1,10,11,100,101,110,111……同样的比较常用的还有八进制、十六进制等,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,060
精华内容 10,824
关键字:

十进制转十六进制小数代码

友情链接: sum.rar