16进制0x1,0x16二进制

  16进制0x1,0x16二进制

  0x16十六进制_百度百科

  0x16十六进制

  目录

  基本概述

  为什么需要十六进制?

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

  十六进制数的表示方法

  在转义字符中使用十六进制数

  第二,十六进制数相互转换

  编辑本段的基本概述。

  以0x开头的数据代表十六进制,在计算机中每一位的权重是16,即(十六进制)10=(十进制)116。

  注意:0这里是数字0,不是字母O!

  为什么编辑这一段需要十六进制?

  在编程中,我们通常使用十进制.毕竟C/C是一门高级语言。

  例如:

  int a=100,b=99

  但由于数据是在计算机中表示的,最终以二进制的形式存在,所以有时候用二进制可以更直观地解决问题。

  但是,二进制数太长。例如,int类型占用4个字节和32位。例如,用int类型的二进制数表示的100将是:

  0000 0000 0000 0000 0110 0100

  面对这么长的数字,没有人会喜欢思考或者操作。所以C,C没有提供直接在代码中写二进制数的方法。

  这个问题可以用十六进制或者八进制来解决。因为,十进制越大,数的表达式长度就越短。但是,为什么是十六进制或者八进制,而不是别的,比如十进制9或者十进制20?

  2、8和16分别是2的1次方、3次方和4次方。这使得直接将三个碱基相互转换成为可能。八进制或十六进制缩短了二进制数,但保留了二进制数的表达特征。你可以在下面的十进制转换课程中找到这一点。

  编辑此段落,将十六进制数字转换为十进制数字。

  二进制,使用两个阿拉伯数字:0和1;

  八进制,使用八个阿拉伯数字:0,1,2,3,4,5,6,7;

  十进制,有十个阿拉伯数字:0到9;

  十六进制,有十六个阿拉伯数字.等等,阿拉伯人还是印度人只发明了10位数?

  十六进制是每16进1,但是我们从0到9只有十个数字,所以我们用A,B,C,D,E,F这五个字母分别代表10,11,12,13,14,15。字母不区分大小写。

  十六进制数的第0位的权重是16的0次方,第1位的权重是16的1次方,第2位的权重是16的2次方.

  所以在第n(n从0开始)位上,如果是,则数字X (X大于等于0,X小于等于15,即f)代表X * 16的n次方。

  假设有一个十六进制数2AF5,那么如何转换成十进制?

  使用垂直计算:

  2AF5转换为十进制:

  位0: 5 * 16 0=5

  第一名:F * 16^1=240

  第二名:A * 16^2=2560

  第三名:2 * 16 3=8192

  -

  10997

  直接计算是:

  5 * 16^0 f * 16^1 a * 16^2 2 * 16^3=10997[1]

  (别忘了,在上面的计算中,A代表10,而F代表15)

  编辑本段中十六进制数的表示方法。

  如果不使用特殊的书写形式,十六进制数会和十进制数混在一起。任意数:9876,你分不清是十六进制还是十进制。

  C,C规定十六进制数必须以0x开头。例如,0x1代表十六进制数。1代表十进制。此外,如0xff、0xFF、0X102A等。x也不区分大小写。(注意:0x中的0是数字0,不是字母O)

  以下是一些用法示例:

  int a=0x100F

  int b=0x 70 a;

  到目前为止,我们已经学习了所有的十进制系统:十进制、八进制和十六进制。最后一点很重要。在C/C语言中,有正负十进制数。例如,12表示正12,而-12表示负12。但是八进制和十六进制只能用无符号正整数。如果你在代码里写:-078或者:-0xF2,C,C,它不把它当负数。

  在转义字符中编辑本段中十六进制数字的使用。

  转义字符后面还可以跟一个十六进制数来表示一个字符。如第6.2.4小节所述?字符,可以用以下方式表示:

  ?//直接输入字符

  \77 //使用八进制,在这种情况下,可以省略开头的0。

  \0x3F //使用十六进制

  同样,本小节仅用于理解。我们很少用后两种方法来表示一个字符,除了空字符用八进制数 \0 来表示。

  编辑第2段。十六进制数字相互转换。

  二进制和十六进制之间的转换很重要。但是,不需要计算两者之间的转换。每个C和C程序员都能看到二进制数,直接转换成十六进制数,反之亦然。

  我们也是,只要完成这一节,我们就能做到。

  我们先来看一个二进制数:1111。多少钱?

  你可能要这样算:1 * 2 1 * 2 1 * 2 1 * 2 1 * 2=1 * 1 1 * 2 1 * 4 1 * 8=15。

  但是,由于1111只有四位数字,我们必须直接记住每一位数字的重量,从最高到最低依次记住:8,4,2,1。即最高位的权重是2=8,其次是2=4、=2、2=1。

  记住8421,对于任何一个4位二进制数,我们都可以很快算出它对应的十进制值。

  下面列出了四位二进制数xxxx的所有可能值(跳过中间部分)

  仅4位二进制数十进制值十六进制值的快速计算方法

  1111=8 4 2 1=15华氏度

  1110=8 4 2 0=14 E

  1101=8 4 0 1=13 D

  1100=8 4 0 0=12摄氏度

  1011=8 4 0 1=11 B

  1010=8 0 2 0=10 A

  1001=8 0 0 1=9 9

  .

  0001=0 0 0 1=1 1

  0000=0 0 0 0=0 0

  二进制数要转换成十六进制,也就是以4位为一段转换成十六进制。

  如(上面一行是二进制数,下面一行是对应的十六进制数):

  1111 1101 , 1010 0101 , 1001 1011

  联邦开发署,A 5,9 B

  反过来,当我们看到FD时,如何快速转换成二进制数?

  首先转换f:

  当我们看到F的时候,我们需要知道它是15(可能你对A ~ F这五个数不熟悉),然后15怎么和8421结合呢?应该是8 4 2 1,所以四位数都是1: 1111。

  然后转换d:

  d,知道是13,13。8421怎么补?应该是:8 ^ 2 ^ 1,也就是:1011。

  所以FD转换成二进制数,就是:1111 1011

  由于十六进制到二进制的转换相当直接,所以当我们需要将十进制数转换为二进制数时,也可以先转换为十六进制,再转换为二进制。

  比如十进制数1234转换成二进制数,如果一直想除以2,就会直接得到二进制数,这就需要更多的计算。所以我们可以先除以16,得到十六进制数:

  股息计算过程商余数

  1234 1234/16 77 2

  77 77 16 4 13(D)

  4 4/16 0 4

  十六进制结果是0x4D2。

  那么我们可以直接写出0x4D2的二进制形式:0100 1011 0

  映射关系是:

  0100 - 4

  1011 - D

  0010 - 2

  同样,如果一个二进制数很长,当我们需要把它转换成十进制数时,除了前面学过的方法,我们还可以先把这个二进制数转换成十六进制数,再转换成十进制数。

  以下示例是int类型的二进制数:

  01101101 11100101 10101111 00011011

  我们四个一组转换成十六进制:6D5 AF1B。

  参考数据

  1.六月果酱丰富的帕森斯,丹欧雅。计算机文化:机械工业出版社,2009。

  延伸阅读:

  一个

  专业

  开放分类:

  计算机

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: