精华内容
下载资源
问答
  • 在学习计算机编程和原理等课程时,常用十六进制来表示数,十六进制数和二进制数之间互相转换简单而且自然,十六进制使用下面符号表示数(A是10、F是15):0 1 2 3 4 5 6 7 8 9 A B C D E F16进制数转十进制数(3...

    十六进制数与十进制数互相转换

    十进制与二进制之间的转换有点麻烦,而且也不自然。在学习计算机编程和原理等课程时,常用十六进制来表示数,十六进制数和二进制数之间的互相转换简单而且自然,十六进制使用下面的符号表示数(A是10、F是15):

    0 1 2 3 4 5 6 7 8 9 A B C D E F

    16进制数转十进制数

    3E03B2.3)=3*16^5+14*16^4+0*16^3+3*16^2+11*16^1+2*16^0+3*16^-1=4064178.1875

    十进制整数转换为16进制,用除以16取余数的方法。十进制小数转换为16进制,用乘16取整法。

    0b9e14f838692fb05a82db0662a25ce2.png

    十六进制数与二进制数互相转换

    由于16是2的4次方,2进制与16进制之间的转换非常容易。

    2进制与16进制数互相转换:从2转16进制,从小数点位置开始,向左从低位到高位每4位(最后不足4位在高位补零)二进制数转换为一位16进制数,小数部分向右,每4位(最后不足4位在低位补零)二进制数转换为一位16进制数;反之,从16进制数转2进制数,把每位16进制数字转化为对应的4位(不足4位高位补零)二进制数即可。

    例:(101101111000111.101011)=(101 1011 1100 0111.1010 1100)

    八进制数

    八进制使用8个符号表示数:0 1 2 3 4 5 6 7

    八进制数与其它进制数的转换方法可参照16进制数的转换方法。下面式子说明二、八进制互转原理:

    8 进制数(673)=6*8^2+7*8^1+3*8^0 =(2^2+2^1)*2^6+(2^2+2^1+2^0)*2^3+(2^1+2^0)*2^0=2^8+2^7 +2^5+2^4+2^3 +2^1+2^0=(110 111 011)

    二~八进制互转: 2进制(1111000101.10110001)=(001 111 000 111.101 100 010)=(1705.542)8进制

    7b364de779918b84752620c9ddf5e073.png

    r进制数

    一般地,r是大于1的整数,以r为基数的r进制数

    就是表示:

    6608dd02ee999aa9be5213b7a6600dcd.png

    r进制数的四则运算与十进制的规则一样,r进制数中运算时进退位的法则是“逢r进一,退一当r”。

    (1)式在十进制体系下运算的结果,就是r进制数

    转换成十进制数的值。
    展开全文
  • 十六进制数转换成十进制数 题目:输入一个十六进制数,以十进制输出。。。 代码: #include<stdio.h> int main() { char a[10]; int b=0,len,i=0; gets(a); //输入十六进制数 len=strlen(a); if(a[0]==...

    今天孤陋寡闻的我突然发现这个进制转换是可以直接转换的。。。
    因为计算机内部都是以二进制进行编码的。

    至于之间的计算,就当作十进制计算就好了。

    1.以十进制,八进制,十六进制输入。以十进制输出:
    转十进制

    2.以十进制输入。以十进制,八进制,十六进制输出:
    转八进制,十六进制

    -----------------------------------以前那个 憨憨的自己 写的---------------------------------

    文章目录

    1.十六进制数转换成十进制数

    2.十进制数转换成十六进制数

    3.十六进制数之间的加减法



    十六进制数转换成十进制数

    题目:输入一个十六进制数,以十进制输出。。。
    代码:

    #include<stdio.h>
    int main()
    {
    	char a[10];
    	int b=0,len,i=0;
    	gets(a);      //输入十六进制数
    	
    	len=strlen(a);
    	if(a[0]=='-'||a[0]=='+')   //判断正负数
    	{
    		i=1;
    	}
    	while(i!=len)
    	{
    		b=b*16;
    		switch(a[i])
    		{
    			case 'A':b=b+10;break;
    			case 'B':b=b+11;break;
    			case 'C':b=b+12;break;
    			case 'D':b=b+13;break;
    			case 'E':b=b+14;break;
    			case 'F':b=b+15;break;
    			default:b=b+a[i]-48;
    		}
    		i++;
    	}	
    	
    	if(a[0]=='-')
    		b=b*(-1);
    	printf("%d\n",b);
    	return 0;
    }
    

    样例 1 输入:

    +A 
    

    输出:

    10
    

    样例 2 输入:

    -1A 
    

    输出:

    -26
    

    样例 3 输入:

    2C 
    

    输出:

    44
    


    十进制数转换成十六进制数

    #include<stdio.h>
    int main()
    {
    	char b[17];
    	long long num;
    	int i,j;
    	scanf("%lld",&num);          //输入一个整数 
    	i=-1;
    	if(num<0)            //判断 num 的正负
    	{	printf("-");
    		num=num*(-1);
    	}
    	if(num==0)             //若 num 为0,则输出0 后结束运行 
    	{
    		printf("0\n");
    		return 0;
    	}
    	else                      //若 num 不为0 
    	{
    	while(num/16)
    	{i++;                       //num连续除以16,并取余 
    		switch(num%16)
    		{
    			case 10:b[i]='A';break;
    			case 11:b[i]='B';break;
    			case 12:b[i]='C';break;
    			case 13:b[i]='D';break;
    			case 14:b[i]='E';break;
    			case 15:b[i]='F';break;
    			default:b[i]=num%16+48;
    		}
    		num=num/16;
    	}
    	if(num%16!=0)
    	{i++;
    	switch(num%16)
    		{
    			case 10:b[i]='A';break;
    			case 11:b[i]='B';break;
    			case 12:b[i]='C';break;
    			case 13:b[i]='D';break;
    			case 14:b[i]='E';break;
    			case 15:b[i]='F';break;
    			default:b[i]=num%16+48;
    		}
    	}
    	for(;i>=0;i--)               //倒序输出 
    		printf("%c",b[i]);
    	printf("\n");
    	}
    	return 0; 
    }
    

    样例 1 输入:

    10
    

    输出:

    A 
    

    样例 2 输入:

    -199
    

    输出:

    -C7
    

    样例 3 输入:

    -128 
    

    输出:

    -80
    


    十六进制数之间的加减法

    #include<stdio.h>
    int main()
    {
    	long long a,b;
    	scanf("%llx %llx",&a,&b);
    	if(a+b>=0)
    		printf("%llx\n",a+b);
    	else
    		printf("-%llx\n",-(a+b));
    	return 0;
    }
    

    样例 1 输入:

    2C 1A
    

    输出:

    46
    

    样例 2 输入:

    30 2C
    

    输出:

    5c
    

    样例 3 输入:

    1A -2C 
    

    输出:

    -12
    

    展开全文
  • 在数字电子技术中,特别是PLC中,经常用到2,8,10,16进制。下表是关于2,8,10,16进制的三要素,如图所示:本来,N进制...例如:1101是二进制、八进制、十进制还是十六进制数呢?为了明确区分,我们就在数的前...

    在数字电子技术中,特别是PLC中,经常用到2,8,10,16进制。

    下表是关于2,8,10,16进制的三要素,如图所示:

    b8f5ee828ab3f153a66550c3fc9bc621.png

    本来,N进制数制的基数n个数码是人为随意规定的。但是,目前国际上关于2,8,10,16进制的为基数都已做了明确的规定,如表中所示。我们发现这四个进制的基数有部分相同的,这就出现了数制如何表示的问题。

    例如:1101是二进制、八进制、十进制还是十六进制数呢?为了明确区分,我们就在数的前面(或者后面)加上前缀(或者后缀),以示区分。这就是表中“符号”的含义。例如B1101是二进制数,K1101是十进制数,而H1101是十六进制数。今后我们在程序编写时必须严格按这个规定进行。

    04245292c368bf1c2392abf418f0b533.png

    既然十进制已经用了2000多年,而且也很方便应用,为什么还要提出二进制呢?这实际是数字电子技术发展的必然。因为在脉冲和数字电路中,所处理的信号只有两种状态:高电位和低电位,这两种状态刚好可以用0和1来表示。当我们把二进制引入数字电路后,数字电路就可以对数进行运算了,也可以对各种信息进行处理了。可以说,计算机今天能够发挥如此大的作用是与二进制数的应用分不开的。我们要学习数字电子技术就必须要学习二进制。

    八进制在约40年前比较流行,因为当时很多微型计算机的接口是按八进制设计的(三位为一组)然而今天已经用的不多了。目前,仅在PLC上的输入输出(I/O)接口的编址还在使用八进制。我们这里不用叙述,留待讲解PLC基本知识时再给予介绍。

    ffe5058510f93db581dad5bc4b7ec347.png

    二进制数的优点是只用两个数码,和计算机信号状态相吻合。直接被计算机所利用。它的缺点是表示同样一个数,它需要用到更多的位数。例如十进制数K14只有两位,而二进制数为B1110有四个位,如果用十六进制数表示,只有一位H E。太多的二进制数数位使得阅读和书写都变得非常不方便,例如B11000110你根本看不出是多少,如果是K97,你马上就有了数量大小的概念。因此,在数字电子技术中引入十进制数就是为了阅读和书写的方便。而引进十六进制数除了表示数的位数更少,更简约之外,还因为它与二进制的转换及其简单方便。

    上期相关内容:

    PLC编程中用到的数制讲解,初中以上水平就能理解掌握!

    展开全文
  • 它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E...

    进制转换:十进制数转十六进制数

    问题描述

    十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。
      给出一个非负整数,将它表示成十六进制的形式。

    代码描述(一)

    #include <stdio.h>
    int main()
    {
        int n,i,j=0;
        char a[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};//*创建一个十进制与十六进制对应的数组,并对其赋值*//
        char b[32];//*存放已转换好的十六进制的数组长度未知,自定义的长度32*//
        scanf("%d",&n);
        while(n>=16)
        {
            i=n%16;
            b[j]=a[i];
            j++;//*新的数组的下标移位*/
            n=n/16;
        }//*该while循环体的作用是把n大于16的数转换十六进制数再依次输入新的数组中*//
        if(n<16)
            b[j]=a[n];
        //*注意:此时数组b[]内的十六进制数是倒过来存储的*//
        while(j>=0)
        {
            if(j>0)//*判断是不是最后一个,不是的话输出,是的话直接换行*//
                printf("%c",b[j]);
            else
                printf("%c\n",b[j]);
            j--;
        }
        return 0;
    }
    

    代码描述(二)

    #include <stdio.h>
    int main()
    {
        int n, i, j = 0;
        char a[16] = { '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' };
        char b[32];
        scanf("%d", &n);
        if (n ==0)
            printf("0\n");
        while (n)
        {
            i = n % 16;
            b[j] = a[i];
            ++j;
            n = n / 16;
        }
        for (i = j; i > 0; i--)
            printf("%c", b[i-1]);
        printf("\n");
        return 0;
    }
    
    展开全文
  • 二进制十六进制十进制转换 将十六进制数转换为十进制数,并将十进制数转换为十六进制数 这是一个非常简单脚本,可将十进制数字转换为十六进制值,并将十六进制值转换为十进制数字。 此示例后面示例演示了如何将...
  • 十六进制数转换成十进制数

    千次阅读 2017-08-06 20:24:19
    十六进制数转换成十进制数。 思路: 1、取低位数; 2、将低位数转换成相应的十进制数,,如A~10,C~12; 3、将转换的十进制数乘以16n次方; 4、相加。 #include #include #include int fun (char ch) ...
  • 蓝桥杯基础练习-进制转换(十六进制转八进制+十六进制转... 接下来n行,每行一个由0~9、大写字母A~F组成字符串,表示要转换十六进制正整数,每个十六进制数长度不超过100000。 输出格式  输出n行,每行为输入对
  • 接下来n行,每行一个由09、大写字母AF组成字符串,表示要转换十六进制正整数,每个十六进制数长度不超过100000。 输出格式 输出n行,每行为输入对应八进制正整数。 【注意】 输入的十六进制数不会有前导0,...
  •  接下来n行,每行一个由0~9、大写字母A~F组成字符串,表示要转换十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应八进制正整数。 【注意】 输入的十六进制数不会有前导...
  • 十六进制数十进制

    2020-03-19 15:25:36
     注:十六进制数的10~15分别用大写的英文字母A、B、C、D、E、F表示。 样例输入 FFFF 样例输出 65535 还是将十六进制数先转化成二进制数,,在转化成十进制数。 #include <iostream&g...
  • 它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E...
  • 用字符表示的十六进制值转化为十进制,ASCII码: bool ok; QStringList list; //初始化list内容为:list = ("30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "43", "44", "4D", "4E") //初始化...
  • 1 Sec Memory Limit: 128 MBDescription输入一个十进制数,转换为对应八进制、十六进制十进制数输出Input输入一个十进制数Output输出该十进制数对应八进制、十六进制十进制数Sample Input10Sample ...
  • 它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E...
  • 输入一个十进制数,转换为对应八进制、十六进制十进制数输出输入 输入一个十进制数输出 输出该十进制数对应八进制、十六进制十进制数样例输入 10 样例输出 oct:12 hex:a dec:10 提示使用输出格式...
  • 对每个字符做如下处理:滤去所有十六进制字符后,组成一个新字符串(十六进制形式),然后将其转换为十进制数后输出。 例: 输入:10#Pf4+1#-+A## 输出: 16 3905 10 #include <stdio.h> #include <...
  • 一、二进制数、八进制数和十六进制数的表示 一个数字默认就是十进制的,表示一个十进制数字不需要任何特殊的格式。但是,表示一个二进制、八进制或者十六进制数字就不一样了,为了和十进制数字区分开来,必须采用...
  • Problem A: 将十进制数对应八进制、十六进制十进制数输出 Description 输入一个十进制数,转换为对应八进制、十六进制十进制数输出 Input 输入一个十进制数 Output 输出该十进制数对应...
  •  注:十六进制数的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535 import java.util.Scanner; public class Main { private static void transform(){ Scanner
  • R进制转换为十进制的方法是“按权展开”。 1.二进制转换为十进制: (11010)2=1x24+1x23+0x22+1x21+0x20=(26)10 2.八进制转十进制: (140)8=1x82+4x81+0x80=(96)10 3.十六进制十进制: (A2C)16=10x162+2x161+...
  • 注:十六进制数的10~15分别用大写的英文字母A、B、C、D、E、F表示。 样例输入 FFFF 样例输出 65535 import java.util.Scanner; public class yamm_11_十六进制转十进制{ public static void main(String[] args.....
  • 9ASCII码减去30H,a-fASCII码减去57H)分别存入内存,再循环将这些数组合成想要的十进制数(用移位方式实现,例:0001左移四位变为10000,变为原来16倍),以循环除以10取余方式得到各位上结果,逐位...
  • 十六进制数转换为十进制数,并将十进制数转换为十六进制数 这是一个非常简单脚本,可将十进制数字转换为十六进制值,并将十六进制值转换为十进制数字。 此示例后面示例演示了如何将十进制数转换为二进制值。 ...
  • 如题,此程序只能实现一位十六进制数的转换 具体代码如下 DATAS SEGMENT BUF DB 5 DUP(?) MSG1 DB 'please input a hex number',13,10,'$' ;设定提示 MSG2 DB 'the dec number:',13,10,'$' CTLF DB 13,10,'$' ...
  • 八、十六进制数转换到十进制数

    万次阅读 2007-09-04 13:28:00
    二、八、十六进制数转换到十进制 6.2.1 二进制数转换为十进制数二进制数第0位权值是20次方,第1位权值是21次方……所以,设有一个二进制数:0110 0100,转换为10进制为:下面是竖式: 0110 0100 换算成 十...
  • 做为小白,通过一个代码不容易,记录一下 这是蓝桥练习系统题 ... 接下来n行,每行一个由09、大写字母AF组成字符串,表示要转换十六进制正整数,每个十六进制数长度不超过100000。 输出格式  输出n...
  • 它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E...
  • java十六进制转十进制(2017-02-02 20:58:58)标签:it...注:十六进制数的10~15分别用大写的英文字母A、B、C、D、E、F表示。 样例输入 FFFF 样例输出 65535package lanqiao; import java.io.BufferedReader; imp...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,995
精华内容 1,198
关键字:

十六进制数的10十进制数的10