精华内容
下载资源
问答
  • 这篇文章主要介绍了十进制负数转换二进制、八进制、十六进制的知识分享,需要的朋友可以参考下 程序猿们或许对二进制都不陌生,二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示...

    转载https://www.cnblogs.com/wxb20/p/6033458.html

    这篇文章主要介绍了十进制负数转换为二进制、八进制、十六进制的知识分享,需要的朋友可以参考下

     

    程序猿们或许对二进制都不陌生,二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。但是很多人都会将二进制转换成整数,但是如何用二进制表示负数呢?有的人会说,在二进制前面加个负数符合。而计算机只能认识0 和 1,又怎么去加个额外的负数符号呢?于是我们就需要用0和1来表示负数。如果想要弄懂这个,我们需要先了解什么是二进制原码。

    原码是什么

    原码(true form)是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。

    简单直观;例如,我们用8位二进制表示一个数,+11的原码为00001011,-11的原码就是10001011

    原码不能直接参加运算,可能会出错。例如数学上,1+(-1)=0,而在二进制中00000001 + 10000001 = 10000010,换算成十进制为-2。显然出错了。


    二进制原码、补码和反码

    十进制如何转换成二进制

    我们如何把十进制的-3,转换成二进制表示呢?首先我们将 -3 的绝对值 +3 转换成二进制,假设是为int类型(32位)的,那么二进制表示为:

    0000 0000 0000 0000 0000 0000 0000 0011

    负数转换成二进制分为3步:

    1、 首先将负数转换为对应的原码

    -3 的原码为(也就是+3转换成二进制后的字符串):

    0000 0000 0000 0000 0000 0000 0000 0011

    2、 再将原码的每一位做取反操作得到反码。

    取反操作:0变为1 、 1变为0;取反后的结果即为:

    1111 1111 1111 1111 1111 1111 1111 1100

    3、 将反码+1得到补码

    1111 1111 1111 1111 1111 1111 1111 1101

    现在用Windows自带的计算器来验证一下,Win+R 输入calc,将计算器改为程序员,选择双字(4字节,32位)


    打开Windows自带的计算器科学计算功能

    在计算器中选择十进制,之后输入 -3 :


    Windows自带的计算器科学计算十进制下输入-3

    再点击二进制转换,将十进制下的-3转换成二进制:

    转换十进制-3为二进制

    二进制转十进制负数问题

    正常情况下,转换二进制到十进制都是没有任何问题的。而在类似 JavaScript / PHP 等整数类型中,一般 int /integer 都有位数限制,一般都是32位长度。也就预示着,这些语言中,整数是有最大值的,而32位最大整数极限为:2147483647,也就是二进制:

    01111111111111111111111111111111

    那么就很容易理解,32位二进制,第一位数为0的时候,就表示这个是一个正数,而如果是1,那么就表示这个是负数。

    32位二进制 11111111111111111111111111111001 十进制值是什么?

    11111111111111111111111111111001

    如上,二进制长度为32位,也就是这个整数是一个负数,先取反,得到反码:

    00000000000000000000000000000110

    反码+1,得到:

    00000000000000000000000000000111

    转换成十进制:7

    由于是负数,所以加个负号,转换成 -7

    趣味:32位二进制 1111111111111111111111111111001 十进制值是什么?

    这个是个比较有趣的,千万不要误导为上面这是一个负数,其实这个是个整数,因为这里只有31位,需要在前面加0,补足32位,变成:

    01111111111111111111111111111001
    十进制负数转八进制、十六进制

    负数转换成八进制、十六进制,只需在补码(二进制)的基础上,3位合成一位计算,或者4位合成一位计算

    -3的转换成二进制为:

    1111 1111 1111 1111 1111 1111 1111 1101

    八进制则将-3的二进制从右至左每3位为一个单元,不够三位用0补 即:

    011 111 111 111 111 111 111 111 111 111 101

    计算每一个单元,结果为:37777777775

    十六进制则将-3的二进制从右至左每4位合并为一个单元,即:

    1111 1111 1111 1111 1111 1111 1111 1101

    计算后为: FFFFFFFD


    转换十进制-3为八进制和十六进制

    转载于:https://www.cnblogs.com/yuanqiangfei/p/11204890.html

    展开全文
  • 十六进制十六进制数的基数是16,采用的数码是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。其中A-F分别表示十进制数字10-15.十六进制数的技术规则是“逢十六进一”,它的各位的权是以16的N次方标识的。

    二进制的转换

    • 了解进制的转换(二、八、十、十六)

          二进制是B,八进制是O,十进制是D,十六进制是H。

         十进制是Decimal system的缩写

         二进制Binary system的缩写

         十六进制简写为hex,用H代替。

          八进制缩写OCT或O,一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进1。

    二进制二进制数据是用01两个数码来表示的数。它的基数2,进位规则是逢二进一,借位规则是借一当二

    八进制在八进制数中,每一位用0—7八个数码表示,所以它的计数基数为8。低位数和高一位数之间的关系是逢八进一。

    十六进制:十六进制数的基数是16,采用的数码是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。其中A-F分别表示十进制数字10-15.十六进制数的技术规则是“逢十六进一”,它的各位的权是以16的N次方标识的。

    • 二进制十进制:把二进制按权展开、相加即得十进制。

    1             0            0            1            0            1            1            0(二进制数)

    0*20+1*21+1*22+0*23+1*24+0*25+0*26+1*27=150(十进制)

    • 十进制转二进制:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依次步骤继续向下运算直到商为0为止。

     运算到为1时,从下往上取余数就是二进制,如图:10010110(二进制)

    • 二进制八进制:3位二进制数按权展开相加得到1位八进制数。(注意事项,3位二进制转成八进制是从右到左开始转换,不足时补0)。

    对照表

    二进制数

    001

    010

    011

    100

    101

    110

    111

    八进制数

    1

    2

    3

    4

    5

    6

    7

    0        1          0            0            1            0            1            1            0二进制数) 

               2                                     2                                         6      226(八进制)

    • 八进制二进制:八进制数通过除2取余法,得到二进制数,对每个八进制为3个二进制,不足时在最左边补零。

         2              2              6

    0  1  0       0  1  0      1  1  0       二进制数10010110

    • 二进制十六进制:与二进制转八进制方法近似,八进制是取三合一,十六进制是取四合一。(注意事项,4位二进制转成十六进制是从右到左开始转换,不足时补0)

    0     0     0     1     0     0     1     0     1     1     0     0    二进制数

            1              2              C           12C十六进制数

    对照表:

    二进制

    0000

    0001

    0010

    0011

    0100

    0101

    0110

    0111

    1000

    1001

    1010

    1011

    1100

    1101

    1110

    1111

    十六进制

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    A

    B

    C

    D

    E

    F

     

     

     

    • 十六进制转二进制:十六进制数通过除2取余法,得到二进制数,对每个十六进制为4个二进制,不足时在最左边补零。

          1                                2                         C              12C十六进制数

      0     0     0     1     0     0     1     0     1     1     0     0     二进制数

      二进制:100101100




     

    展开全文
  • (3)位权:是指在某种进位计数制中,每个数位上的数码所代表的数值的大小,等于在这个数位上的数码乘上一个固定的数值,这个固定的数值就是此种进位计数制中该数位上的位权。(1)十进制:以10基数的计数体制称为十...

    全是干货

    数进制及其转换

    (1)数位:是指数码在一个数中所处的位置。

    (2)基数:是指某个进制数中允许选用的基本数码的个数。

    (3)位权:是指在某种进位计数制中,每个数位上的数码所代表的数值的大小,等于在这个数位上的数码乘上一个固定的数值,这个固定的数值就是此种进位计数制中该数位上的位权。

    (1)十进制:

    以10为基数的计数体制称为十进制。采用10个数码0~9, 进位规则是逢10进1。在十进制中,每个数码的位置不同时,它所代表的数值也不同。

    如:123=1×102+2×101+3×100

    (2)二进制:

    以2为基数的计数体制称为二进制。采用2个数码0、1,进位规则是逢2进1。在二进制中,每个数码的位置不同时,它所代表的数值也不同。

    如:10100 =1×24+0×23+1×22+0×21+0×20

    (3)十六进制

    以16为基数的计数体制称为十六进制。采用16个数码0~9、A~F,用A~F分别表示10~15,进位规则是逢16进1。在十六进制中,每个数码的位置不同时,它所代表的数值也不同。

    如:45AC=4×163 +5×162+A×161+C×160

    十进制数转二进制数:

    方法:除二取余倒序法

    示例一:将十进制数(19)转换成二进制数。

    步骤:

    30029c9b6a339e2c20c130e5336f33fa.png

    19除2商为“9”余数为“1”

    9 除2商为“4”余数为“1”

    4除2商为“2”余数为“0”

    2除2商为“1”余数为“0”

    除2除到商为“1”为止,然后将余数部分顺序倒过来即为二进制数值。

    即十进制数19转换成二进制数为:10011

    示例二:将十进制数(8)转换成二进制数。

    步骤:

    4d69ae124a4684943d1932b8dea8c76b.png

    8除以2商为“4”余数为“0”

    4除以2商为“2” 余数为“0”

    2除以2商为“1” 余数为“0”

    除2除到商为“1”为止,然后将余数部分顺序倒过来即为二进制数值。

    即十进制数8转换成二进制数为:1000

    二进制数转十进制数:

    方法:将二进制数的每一位基数为“1”的数的位权相加。

    示例一:将二进制数(1010110)转换成十进制数。

    步骤:1010110=1×26+1×24+1×22+1×21

    =64+16+4+2

    =86

    二进制数(1010110)转换成十进制为(86)

    位权示意:

    3357d8d9bb4aca66ef81d9b1a91b249f.png

    示例二:将二进制数(100101)转换成十进制数。

    步骤:100101=1×25+1×22+1×20

    =32+4+1

    =37

    二进制数(100101)转换成十进制为(37)

    位权示意:

    c19c93244cbb936f96ba36adf2c3b3fa.png

    十六进制数转二进制数:

    方法:一位十六进制数由二进制数的最低四位来表示。

    示例一:将十六进制数(F3)转换成二进制式数。

    16#F3=11110011

    9e358f174958254b5ef69beaf904e937.png

    即将十六进制数(F3)转换成二进制式为:(11110011)

    示例二:将十六进制数(1A3)转换成二进制式数。

    16#1A3=000110100011

    f717dfdfd0700bebb47c01cfd23056b8.png

    即将十六进制数(1A3)转换成二进制数为:(110100011)

    示例三:将十六进制数(2A9F)转换成二进制式数。

    16#2A9F=0010101010011111

    fbc3e258c5b9b56783860ab87435cb19.png

    十六进制数(2A9F)转换成二进制式数为:(10101010011111)

    二进制数转十六进制数:

    方法:以二进制数最低一位开始连续的四位为一组合并成一位十六进制数。

    示例一:将二进制数(1010110)转换成十六进制数。

    1010110=16#56

    4aae6cd67c7af0a451d57ea786834ccb.png

    即将二进制(1010110)转换成十六进制数为(56)

    注:任何数的零次方等于“1”,任何数的1次方就等于该数。

    示例二:将二进制数(1101110100111)转换成十六进制数。

    1101110100111=16#1BA7

    d2f0839b54327dc70d51403c71b69c03.png

    即将二进制(1101110100111)转换成十六进制数为(1BA7)

    展开全文
  • 下表是关于2,8,10,16进制的三要素,如图所示:本来,N进制数制的基数n个数码是人为随意规定的。但是,目前国际上关于2,8,10,16进制的为基数都已做了明确的规定,如表中所示。我们发现这四个进制的基数有部分...

    在数字电子技术中,特别是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编程中用到的数制讲解,初中以上水平就能理解掌握!

    展开全文
  • 十进制、八进制、还是十六进制 整型常量 1.八进制整常数八进制整常数必须以0开头,即以0作为八进制数前缀。...十六进制整常数前缀0X或0x。其数码取值0 ~ 9,A~ F或 a ~ f。 以下各数是合法的十六进制整常数:
  • 十六进制数的基数是16,采用的数码是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F其中A、B、C、D、E、F分别对应10、11、12、13、14、15 十六进制数的表示方式0x开头。 示例1:0xAF=175 十六进制转十进制转换...
  • 二进制: ...十六进制: 进位规则“逢十六进一”,用 0~9 和 A~F 表示,其中A~F 代表(10~15) 例如: 十进制数:24 代码如下: import java.util.Scanner; public class Change{ //二进制 public...
  • 进制转换 进制转换是人们利用符号来技术的方法。 进制转换由一组数码符号和两个基本因素“基数”与“位权”构成。 基数是指,进位计数制中所采用...方法:假设我们要将n进制转换十进制,首先我们从n进制的右边...
  • 进制的基数10,数码由0-9组成,计数规律逢十进一。 进制有 0~9 共10个数字,基数10,在加减法运算中,逢十进一,借一当十。 二进制 用0、1两个数字来表示数值,这就是二进制 二进制的算法和十进制是类似的: ...
  • 十六进制中有0x就代表是十六进制,没有0x就代表是十进制。 整型常量 1,八进制整常数 八进制整常数必须以0开头,即以0作为八进制数前缀。数码取值0~7。八进制数通常是无符号数。 以下各数是合法八进制数...
  • 本资源包含该实验需要编制第三个程序代码:十六进制数转换ASCII码。 本资源只含代码,不含实验报告,如果你需要是实验报告就不要点开了以免浪费你宝贵分数。本代码可靠性极高,与网络上其他来源实验报告...
  • 今天对十进制转二进制、十进制转十六进制讲解,日常生活中,我们用得最多是十进制, 但是在C语言中我们都是使用二进制和十六进制。 二进制是计算技术中广泛采用一种数制。二进制数据是用0和1两个数码来表示...
  • 进制 二进制是计算技术中被广泛采用一种数制,是使用0和1两个数码来表示数字...十六进制(hex):0️⃣-9️⃣/A-F,逢十六进一,以0x或0X开头。 进制间转换 以二进制轴 ????十进制与二进制间转换
  • 十进制 进位规则:满十进一,用0、1、2、3、4、5、6、...十六进制(英文名称:Hexadecimal),是计算机数据一种表示方法。同我们日常生活中表示法不一样。它由0-9,A-F组成(正好16个数码)。字母不区分大小写。与十
  • 关于2,8,10,16进制的三要素,如下表所示:本来,N进制数制的基数n个数码是人为随意规定的。但是,目前国际上关于2,8,10,16进制的为基数都已做了明确的规定,如表中所示。我们发现这四个进制的基数有部分相同的...
  • 二进制:二进制数据是用0和1两个数码...1、二进制转化为十六进制: eg: 11 0011 1011,先从右到左,四个位一组,不够在前面补零够四位即可:0011 0011 1011,然后从左往右:0+0+2+1 0+0+2+1 8+0+2+1 ,十六进制数位:
  • 它的基数2,进位规则是逢二进一,以0b开头,如0b1101,接下来就以0b1101例说明二进制转换进制的方法。 2、八进制转换十进制 八进制,Octal,缩写OCT或O,一种以8基数的计数法,采用0,1,2,3,4,5,6...
  • 进制进制是计算技术中广泛采用一种数制。二进制数据是用0和1两个数码来表示数。它基数2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发...
  • 数制转换 1、什么是数制 记数所采用体制,包括数码的组成以及进位和借位规则。 2、 二进制 数码组成:0、1; 规则: ...二进制转十六进制: 将二进制数码四个一组划分,不足4位要用“0”补足4位...
  • 进制数据是用0和1两个数码来表示数。它基数2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前计算机系统使用基本上是二进制系统,数据在计算机中主要是...
  • 判断一个字符是否是十六进制

    千次阅读 2018-08-02 20:05:25
    十六进制数以16基数,采用的数码是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。其中A-F分别表示十进制数字10-15,也可以用小写字母a-f表示。 因此,判断一个字符是否是十六进制,只需要判断该字符是否属于...
  • 进制数据是用0和1两个数码来表示数。它基数2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前计算机系统使用基本上是二进制系统,数据在计算机中主要是...
  • 点 击 上 方 蓝 字 关 注 我 们 哦 ^-^本文思维导图:1.数制:用一组固定数字和一套统一规则来表示数目方法...进位计数制要素: ①、数码:用来表示进制元素。 二进制:0,1。 八进制:0,1,2,3,4,5,6,7 ...
  • 进制转换1、原理2、(二,八,十六进制)转十进制3、十进制 转换(二,八,十六进制)4、其他5、python实现二进制与整型之间转换5.1 整型转换二进制5.2 二进制转整型 1、原理 进制转换是人们利用符号来计数...
  • 进制数据是用0和1两个数码来表示数。它基数2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前计算机系统使用基本上是二进制系统,数据在计算机中主要是...
  • 对十进制小数乘2得到整数部分和小数部分,整数部分既是相应进制数码,再用2乘小数部分(之前乘后得到新小数部分),又得到整数和小数部分. 如此不断重复,直到小数部分0或达到精度要求为止.第一次所得到最高位...
  • 计算机基础:二进制、八进制、十进制、十六进制2006-11-29 20:23一、十进制数 十进制数是日常生活中使用最广计数制。组成十进制数符号有0,1,2,3,4,5,6,7,8,9等共十个符号,我们称这些符号为数码。 在...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 193
精华内容 77
关键字:

十六进制的数码为