精华内容
下载资源
问答
  • 进制表示 #include <stdio.h> int main(void) { /*C语言中 0 表示 八进制 0x 或者0X 表示十六进制 ... //十进制 八进制 十六进制 printf("dec=%d; octal=%o; hex=%x\n", x, x, x); //显示0 和 0X 前缀 p...

    进制表示

    #include <stdio.h>
    int main(void)
    {
    
    /*C语言中
    0 表示 八进制
    0x 或者0X	表示十六进制
    #表示显示前缀
    					*/
    	int x = 100;		//定义一个x变量,并赋值为10
    	//十进制	八进制	十六进制
    	printf("dec=%d; octal=%o; hex=%x\n", x, x, x);
    	//显示0 和 0X 前缀
    	printf("dec=%d; octal=%#o; hex=%#x\n", x, x, x);
    	return 0;
    }
    

    输出结果


    dec=100; octal=144; hex=64
    dec=100; octal=0144; hex=0x64
    
    
    展开全文
  • 概念: 二进制是计算机唯一使用的进制,因为计算机的根本是电路,电路只能表示两种情况,一种情况没有电,可以表示数字0,...一个较大的数进制表示就太长了,比如一个int类型的100(4个字节,总共32位),二进

    转自:https://blog.csdn.net/ruidianbaihuo/article/details/87797979

    概念:

    二进制是计算机唯一使用的进制,因为计算机的根本是电路,电路只能表示两种情况,一种情况为没有电,可以表示数字0,一种情况为有电,可以表示数字1,再无第三种情况。

    计算机中使用的都是二进制,八进制和十六进制的出现其实都不是计算机的需要,它们的出现完全是出于表达和识别的方便性考虑的。一个较大的数用二进制表示就太长了,比如一个int类型的100(4个字节,总共32位),用二进制表示就是0000 0000 0000 0000 0000 0000 0110 0100,这还是一个比较小的数,如果更大,将会更复杂,写这么长,确实有些不便,于是,就出现了更简易的八进制,十进制,十六进制,数制越大,表示一个数所需的数码位数就越少,所以C和C++代码中不能直接输入二进制,但是允许输入八进制、十进制、十六进制。
    那为什么没有出现什么七进制,九进制呢?因为8,16分别是2的3次方、4次方。使得这3种进制之间转换起来很方便。
    八进制、十六进制即缩短了数的表示位数,同时保持了二进制数的表达特点。

    表达方式:二进制:(010100101)B       八进制:(12565)O或者是(12565)Q           十进制:(2356)D          十六进制:(56BBA)H        
    计算方式:

    其他进制转成十进制: 

    (2356)D        6 * 10^0+5 * 10^1+3 * 10^2+2 * 10^3=2356

    (110)B          0 * 2^0+1 * 2^1+1 * 2^2=6

    (2356)O      6 * 8^0+5 * 8^1+3 * 8^2+2 * 8^3=1262

    十进制转成其他进制:

    十进制转为二进制:(已48为例)

    计算过程 结果 余数
    48/2 24 0
    24/2 12 0
    12/2 6 0
    6/2 3 0
    3/2 1 1

    用48除以进制基数2,直到结果为1(为什么说直到结果为1,因为不管任何数,按照上面的演算方式不断除以2,最后的结果一定是1),然后将结果的1放在最前面,后面依次写上每一步的余数,注意,这里每一步的余数是倒序(也就是从下往上排列),也就是说排在结果1后面的余数是计算过程3/2的余数,然后是计算过程6/2的的余数…所以最后得出十进制数48的二进制表示是110000。如果是byte类型,需要在前面补0,直至8位:0011 0000,如果是int类型就是:0000 0000 0000 0000 0000 0000 0011 0000。

    十进制转为八进制:

    十进制360转换为八进制表示:

    计算过程 结果 余数
    360/8 45 0
    45/8 5 5

    结果5比进制基数8小,所以结果就是550。

    十进制转换为十六进制:
    十进制101转换位十六进制的表示:

    计算过程 结果 余数
    101/16 6 5

    结果为:65。

    二、八、十六进制间的相互转换
    二进制转换为八进制:

    这里转换的时候是有技巧的,之前说过了,为什么是八进制、十六进制,而不是七进制,九进制,因为8=23,16=24。
    所以二进制转换成八进制的时候,只需要将二进制的表示从右往左开始,每三位二进制数为1组 ,分到最后如果不足3位,那么剩下多少位就是多少位,再用每组的二进制的每一位数从右往左依次乘以2^02^12^2,然后相加,得出一组的结果,最后将所有组的结果相连,得出最终的结果(这里注意了,二进制转换为八进制的时候是分组了,并且最后是将每组的结果相连,而不是相加)。
    这里,我具体举个例子:
    二进制(0011 0101)B转换为八进制表示是什么结果:
    首先,将二进制从右至左进行分组:
    分别是 第一组:101 第二组:011 第三组:00。实际上,第三组没意义了,因为都是0,我们来关注前两组
    第一组计算过程是:1 * 2^0+0 * 2^1+1 * 2^2=5;
    第二组计算过程是:0 * 2^0+1 * 2^1+1 * 2^2=6;
    所以最后的结果是65。也就是用6和5直接相连,而不是相加,这里还要注意一下相连的顺序问题,是6–5的方向。

    二进制转换为十六进制
    二进制转换为十六进制就是将二进制每四位二进制为一组,其他与八进制转换为二进制一样。


    八进制转换为二进制
    只需要将八进制的每一个数用三位二进制表示,然后相连既可以。比如(65)O:(6)O用二进制表示110、(5)O用二进制表示101 ,所以二进制为:(110101)B


    十六进制转换为二进制
    只要需要将十六进制的每一个数用四位二进制表示,然后相连即可。


    八进制转换为十六进制
    不要以为八和十六之间存在倍数2的关系就有什么捷径,实际上没有,需要通过二进制中转一下。
    所以需要先将八进制转换成二进制,在转换成十六进制。
    十六进制转换成八进制
    需要将十六进制转换成二进制,再将二进制转换成八进制。

     

    ⑹、浮点数的表示与转换 –浮点数说白了就是我们常说的小数,只不过专业的叫法是"浮点数"。
    上面说的都是有关二进制,八进制,十进制,十六进制整数之间的相互转换,现在我们来看一下这些进制的浮点数如何表示以及相互转换的(主要说明二、八、十六进制的浮点数如何转换成十进制的浮点数)。
    相关进制的浮点数表示其实和整数的表示是一样的,比如二进制的浮点数表示:
    这里我直接上示例了:
    (0.1101)B就是表示这是一个二进制的浮点数。
    (0.1101)O或者(0.1101)Q就是表示这是一个八进制的浮点数。
    (0.1101)D就是表示这是一个十进制的浮点数。
    (0.1101)H就是表示这是一个十六进制的浮点数。
    那么二、八、十六进制的浮点数如何转换成十进制的浮点数呢?
    这里我以二进制位例子详细说明,八进制和十六进制的转换方法与二进制是一样的,只是需要将对应的进制基数替换一下就行。
    (0.1101)B这样的二进制浮点数转换成十进制的浮点数是多少呢?
    转换的方式为:先提一个问题:为什么我这里举例是纯小数(整数部分为0),因为整数部分的转换和整数的转换是一样的,上面已经说明了,这里仅说明浮点数的转换。
    需要将(0.1101)B转换为十进制的浮点数,首先从小数点右起第一位开始,这里的右起第一位是1,就用1 *2^{-1},第二位是1,继续用1 * 2^{-2},第三位是0,用0 * 2^{-3},第四位是1,用1 *2^{-4},没有第五位了,如果有,则继续按照以上逻辑以此类推,直到二进制的所有有效位数用完,然后将所有的结果全部相加,即得到了十进制的浮点数表示。
    这里再清晰写一遍:
    (0.1101)B转换为10进制的浮点数过程:
    1 *2^{-1}+1 * 2^{-2}+0 * 2^{-3}+1 *2^{-4} = (0.6875)D。
    这里需要特别注意的是:整数部分的转换幂指数是从0开始的,但是浮点数转换的幂指数是从-1开始的,这个非常的重要,并且位数和幂指数是对应的,第一位幂指数是-1,第二位幂指数是-2,第三位幂指数是-3…以此类推,最后将所有结果相加。
    八进制浮点数转换为十进制浮点数只需要将进制基数变为8,十六进制浮点数转换为十进制浮点数只需要将进制基数变为16。如果不熟悉的码友可以自行用纸笔演练一遍,只是要牢记,需要替换上对应的进制基数。
    实际上,浮点数的二进制、八进制、十进制、十六进制之间的相互转换可以分为两部分,小数点左边的整数部分转换与上文提到的整数转换完全一致,小数点右边的小数部分转换与上文提到的浮点数转换也完全一致(再次提醒,需要替换成对应的进制基数),所以一个浮点数的转换,可以分成整数部分的转换,小数部分的转换,再将转换结果通过小数点"."连起来就是最后的结果了。

     

    展开全文
  • https://www.cnblogs.com/hitfredrick/p/6403003.html二进制在C#中无法直接表示,我们一般0和1的...十进制转换二进制(int--&gt;string)System.Convert.ToString(d, 2);// dint类型 以4例,输出为100十...

    https://www.cnblogs.com/hitfredrick/p/6403003.html

    二进制在C#中无法直接表示,我们一般用0和1的字符串来表示一个数的二进制形式。比如4的二进制为“100”。下面介绍C#里面用于进制转换的方法。

    十进制转换为二进制(int-->string)

    System.Convert.ToString(d, 2);// d为int类型 以4为例,输出为100


    十六进制转换为二进制(int-->string)

    System.Convert.ToString(d, 2);// d为int类型 以0X14为例,输出为10100


    上面ToString函数的第二个参数表示目标数字系统的基数。

    二进制转换为十进制(string-->int

    System.Convert.ToInt32(s, 2);// d为string类型 以“1010”为例,输出为10


    十六进制转换为十进制string-->int、int-->int)

    方法一:

    System.Convert.ToString(0xa,10);// 以0XA为例,输出为10


    或者

    System.Convert.ToInt32("0x41", 16);//以"0x41"为例,输出为65


    方法二:

    System.Int32.Parse(s, System.Globalization.NumberStyles.HexNumber);//s为string类型,以“41”为例,输出为65

    注意这里的s中不能带有“0X”或者“0x”,区别于上面的方法。

    二进制转换为十六进制string-->int

    先转换为十进制,在转换为十六进制

    string.Format("{0:X}",System.Convert.ToInt32(s, 2));// s为string类型 以“1010”为例,输出为A


    十进制转换为十六进制

    十进制转换为十六进制不需要特殊的方法,只要对输出格式进行控制一下就可以。


    或者使用string.Format("{0:x}", dec)方法进行控制,也可以用s.ToString("X")方式进行控制。


    除了数制转换之外,数据类型的转换也比较重要。对于基本数据类型,byte、char、int、string以及它们的数组形式的转换虽然简单,但是比较基础的知识。网上也有很多详解,用到的时候自行查阅即可。


    展开全文
  • 十进制十六进制

    2015-01-02 19:32:27
    给出一个非负整数,将它表示十六进制的形式。 输入格式  输入包含一个非负整数a,表示要转换的数。...假设一个十进制数1610,则转化16进制数的过程如下: 1610/16=100 ......10(A) 100/16=6.

    给出一个非负整数,将它表示成十六进制的形式。

    输入格式
      输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647
    输出格式
      输出这个整数的16进制表示
    样例输入
    30
    样例输出
    1E

    在蓝桥杯里面评测时编译出错,不知为什么:

    我主要是用了此思想:

    假设一个十进制数1610,则转化为16进制数的过程如下:

    1610/16=100 ......10(A)

    100/16=6........4;

    6/16=0........6;

    所以:1610(10)=64A(16)

    //十进制转为十六进制 
    #include<stdio.h>
    int main()
    {
    	int b[100];//定义数组存放余数 
    	int i=0,len=0;//i是数组下标变量,len是数组长度 
    	
    	long int a;//要输入的整数a 
    	scanf("%ld",&a);
    	
    	while(a!=0)//当a(商)不等于0时继续循环 
    	{
    		b[i++]=a%16;//求余并把余数保存在数组b中 ,后i++			
    		a=a/16;//求商,把商赋值给a
    		len++;//计算长度 
    	}
    	//for循环遍历输出 
    	for(int i=len-1;i>=0;i--)
    	{
    		if(b[i]==10)
    			printf("%c",65); //---->A 
    		else if(b[i]==11)
    			printf("%c",66); //---->B
    		else if(b[i]==12)
    			printf("%c",67); //---->C 
    		else if(b[i]==13)
    			printf("%c",68); //---->D 
    		else if(b[i]==14)
    			printf("%c",69); //---->E 
    		else if(b[i]==15)
    			printf("%c",70); //---->F 
    		else
    			printf("%d",b[i]);//---直接输出数字 
    	}
    	return 0;
    }

    结果网上一查,答案居然是几句代码就完事,

    #include<stdio.h>
    int main() 
    {
    	long long int a;
    	scanf("%I64d",&a);
    	printf("%I64X\n",a);
    	return 0;
    }


    展开全文
  • 代码“%04x”中4表示转换成的十六进制字符串的长度,0表示若转换十六进制数长度不够4则0填补。如图: 2、十六进制(其他进制)转十进制 String str2="04b0"; //将指定的其他进制数转为十进制数 ...
  • 什么需要八进制和十六进制?   编程中,我们常用的还是10进制……必竟C/C++是高级语言。 比如: int a = 100,b = 99; 不过,由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以...
  • 输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是负数...
  • 从小数点开始,整数部分向左,小数部分向右,每三个一组一个八进制的数字表示,不足3位的要“0”补足3位,就得到一个八进制数。 例:1100--> 分割001=1 100=4 (1100)2=(14)8 1.2、八进制--二进制 ...
  • 十进制有 0~9 共10个数字,基数10,在加减法运算中,逢十进一,借一当十。 二进制 0、1两个数字来表示数值,这就是二进制(Binary)。例如,数字 0、1、10、111、100、1000001 都是有效的二进制
  • 注:十六进制数中的10~15分别大写的英文字母A、B、C、D、E、F表示。 输入 一个十六进制数 输出 对应得十进制 样例输入 FFFF 样例输出 65535 //方法一 #include<stdio.h> #include<string.h&...
  • public class TestValue { public static void main(String[] args) { long l = 12345678... int i = 100; String str1 = String.valueOf(l); String str2 = Integer.toString(i, 16).toUpperCase(); System.out.
  • 信息在计算机上是进制表示的,这种表示法让人理解就很困难。因此计算机上都配有输入和输出设备,这些设备的主要目的就是,以一种人类可阅读的形式将信息在这些设备上显示出来供人阅读理解。保证人类和设备,...
  • 有些时候,将数字字符串保存到文件或者数据库中,你会发现,十进制的64在二进制中表示为1000000,在八进制中表示为100,在十六进制表示为40。于是,需要将64存储到文件或者数据库中,进制表示的话占用了7个...
  • 什么需要八进制和十六进制? 编程中,我们常用的还是10进制……必竟C/C++是高级语言。比如:int a = 100,b = 99;不过,由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地...
  • c# 16进制转10进制

    千次阅读 2019-12-17 14:47:28
    二进制在C#中无法直接表示,我们一般0...十进制转换二进制(int-->string) System.Convert.ToString(d, 2);// dint类型 以4例,输出为100 十六进制转换二进制(int-->string) System.Conver...
  • 在方括号[]中的项为可选项:(1)类型类型字符表示输出数据的类型 d 以十进制形式输出带符号整数(正数不输出符号) o 以八进制形式输出无符号整数(不输出前缀0) x,X 以十六进制形式输出无符号整数(不输出前缀Ox) u...
  • 老师布置作业如下:1、十进制数7转换为二进制数是( )2、十进制数1000对应二进制数为...进制表示为( )6、将二进制00111001转为十进制数为( )转为八进制数为( )转为十六进制数为( )7、八进制的100转为十...
  • 在方括号[]中的项为可选项:(1)类型类型字符表示输出数据的类型d 以十进制形式输出带符号整数(正数不输出符号)o 以八进制形式输出无符号整数(不输出前缀0)x,X 以十六进制形式输出无符号整数(不输出前缀Ox)u 以...
  • C# 各种进制转换

    2017-09-26 14:47:00
    转载地址:传送门 二进制在C#中无法直接表示,...十进制转换二进制(int-->string) System.Convert.ToString(d, 2);// dint类型 以4例,输出为100 十六进制转换二进制(int-->string) Syst...
  • 还可以转换字符串为十六进制十六进制转字符串,进制表示原码、反码和补码。编码转换可以将字符转Base64,Base64转字符,改变密钥与恢复密钥。转换IP进制子网掩码。声明:1:本程序可免费使用及复制2:本程序各种...
  • 为了跟程序中的进制表达一样,下面我(0b,0,0x分别表示二进制,八进制,十六进制十进制 12345 5100+4*101+3102+2*103+110^4 二进制 0b10101 120+0*21+122+0*23+12^4 = 21 八进制 0123 380+2*81+18^2 =83 十六...
  • JAVA11:进制

    2019-08-26 16:49:22
    十进制 权:1 10 100 1000 二进制: 权:1 2 4 8 16 32 JAVA表示:0b 十六进制: 权:1 16 JAVA表示:0x 补码 计算机中的一种解决负数(有符号数)问题的编码(负数的时候,JAVA以补码进行工作) 以4位二进制例...
  • 我们要知道我们的电脑只能识别1和0,而它识别的方式就是通过电路的接通与断开也就是开关的开和...我们习惯都是用十进制表示数,所以涉及到了进制的转换常用的进制有二进制,八进制,十进制十六进制。生活中也有进制
  •  从键盘输入一个不超过8位的正的十六进制数字符串,将它转换正的十进制数后输出。  注:十六进制数中的10~15分别大写的英文字母A、B、C、D、E、F表示。 样例输入 FFFF 样例输出 65535 我的代码: #include #...
  • A1013. 进制转换4

    2018-01-18 10:14:04
    进制转换4时间限制:1.0s 内存限制:512.0MB 问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换正的十进制数后输出。 注:十六进制数中的10~15分别大写的英文字母A、B、C、D、E、F表示。...
  • 程序员二进制计算器 v1.36

    热门讨论 2014-07-16 16:21:43
    当按二、八、十六进制输出时,是按其补码形式输出,最高位是符号位(正数0、负数1)。 所以此法可得到一个负数的补码表示。 (1)按二进制输出 %b或%B %b等价与%B。 %b 12 = 0b1100 %b 0xffffffff = 0b1111 ...
  • 单片微型计算机与接口技术思考题与习题解答 第 0 章 基础知识 0.1 将下列十进制数转换为十六进制数649880100 125255 0.1 40H62H50H64H7 0.2 将下列十六进制无符号数转换为十进制数3268HD5H 100HB78H3 O.2 ...
  • 类型转换

    2019-05-11 21:30:00
    1.1、二进制、十进制十六进制互转。 二进制在C#中无法直接表示,我们一般0和1的字符串来表示一个数的二进制形式。比如4的二进制100”。下面介绍C#里面用于进制转换的方法。 1.1.1、十进制转换二进制...
  • Linux-cpu100%排查

    2020-02-28 02:36:29
    1.找到最耗CPU的进程:top命令查看进程运行信息列表,键入P (大P),进程按照CPU使用率从高到低排序。 2. 找到最耗CPU的线程:top -Hp 进程PID...是因为堆栈里,线程id是16进制表示的(十进制6524转换为十六进制就是1...

空空如也

空空如也

1 2 3 4 5
收藏数 82
精华内容 32
关键字:

十进制100用十六进制表示为