精华内容
下载资源
问答
  • 工作中碰到的一个小问题,经过了一番研究,终于搞明白了,为了以后大家不再挠头,写了这个供大家参考。其中涉及到MODTEST 软件 MODBUS协议 IEEE32位二进制浮点数与十进制小数转换的方法等内容。
  • 二进制转十进制代码

    2018-12-27 14:54:04
    二进制转十进制,首先讲一下“权重”的概念 数字中某位的权重:2的(该位所在的位数(从右至左)-1)次方 比如:10 0的权重为:2^(1-1)=1 1的权重为:2^(2-1)=2 二进制转十进制:数字中所有位*本位的权重...
  • 1,2,3,4,5等数字为十进制数字,日常生活所用,但是计算机无法运算,计算机可以运算的数字为二进制数字,即仅由1和0所组成的数字 二进制所具有的特征: 电路中容易实现 物理上最易实现存储(磁极的取向,表面的凹凸,...
    1. 二进制的概念
      1,2,3,4,5等数字为十进制数字,日常生活所用,但是计算机无法运算,计算机可以运算的数字为二进制数字,即仅由1和0所组成的数字
      二进制所具有的特征:
      电路中容易实现
      物理上最易实现存储(磁极的取向,表面的凹凸,光照的有误)
      便于加减运算和计数编码
      二进制和十进制可以并易于互相转换
      便于逻辑判断,1和0对应是否,真假等
      二进制具有抗干扰能力强,可靠性高等特点

    2. 二进制和十进制的互相转换
      二进制转十进制时,每个数乘以2的n-1次方,为当个数字所在序位(倒序 )
      十转二为不断除以2,计余数和尾数,从下往上排序
      DEMO:二转十---->10111
      1 1×2^4=16
      0 0×2^3=0
      1 1×2^2=4
      1 1×2^1=2
      1 1×2^0=1
      总计结果为:16+0+4+2+1=23

    DEMO:十转二---->23
    23÷2=11余1 计1
    11÷2=5余1 计1
    5÷2=2余1 计1
    2÷2=1余0 计0
    剩1 计1
    即 10111

    展开全文
  • 二进制十进制概念和相互转换 十进制就是1、2、3、4等数字,日常生活中能看懂的数字叫做十进制数字。 二进制就是1、0。 二进制和十进制的转换 只需将二进制的数字乘以2的n-1次方,n代表该位的排序(倒叙) 比如1 1 0 1...

    二进制十进制的概念和相互转换
    十进制就是1、2、3、4等数字,日常生活中能看懂的数字叫做十进制数字。
    二进制就是1、0。
    二进制和十进制的转换
    只需将二进制的数字乘以2的n-1次方,n代表该位的排序(倒叙)
    比如1 1 0 1
    从后往前1
    2^0=1
    02^1=0
    1
    2^2=4 两个2相乘
    1*2^3=8 3个2相乘
    十进制转换成二进制
    用十进制的数无限除2求余,直到不能整除,最后余下的补上去,得出来的数最下面的要放在最前面。
    16的二进制是10000
    在这里插入图片描述

    展开全文
  • 王昆扬的这本《实数的十进表示》讨论用十进制的无限小数来表示实 数的问题。十进制的无限小数,简称为十进数,初中学生就知道了。但他 们只能把它作为符号,凭感觉进行直观的想象。这些符号的真意只有接受 了“极限...
  • 众所周知,计算机中使用的是二进制运算规则,能够读懂二进制语言,但究竟什么是进制进制之间是如何相互转化的?今天我们就来详细了解下。

    众所周知,计算机中使用的是二进制运算规则,能够读懂二进制语言,但究竟什么是进制?进制之间是如何相互转化的?今天我们就来详细了解下。

    一、数制的由来

    1.1 数制的基本概念

    数制:也称为计数制,是一种计数的方法,是用一组固定的符号和统一的规则来表示数值的方法。在计数过程中采用进位的方法称为进位计数制(进制),包括数位基数位权三个要素。

    • 数位:指数字符号在一个数中所处的位置。
    • 基数:指在某种进位计数制中数位上所能使用的数字符号的个数。例如十进制的基数为10
    • 位权:数制中某一位上的1所表示数值的大小(所处位置的价值)。例如十进制的230,1的位权是100,2的位权是10,3的位权是1

    1.2 计算机语言中常用的进制及表示方法

    在计算机汇编语言中,常用的进制有二进制八进制十进制

    数制的表示有2种方法,一种表示方法是数字下标法,对于不同进制的数可以将它们加上括号再用数字下标表示进制:

    例如:(110010011111)2 代表二进制数 ; (6137)8 代表八进制数

    另一种是用后缀字母表示进制:

    二进制 B (binary)
    八进制 O (octal)
    十进制 D (decimal)
    十六进制 H (hexadecimal)

    例如:(3AB)H 代表十六进制数;(2654)O 代表八进制数

    注:当没有下标或后缀时默认为十进制数。

    1.3 常见进制的运算规则

    • 二进制:逢二进一

      基数为2,数值部分用两个不同的数字0、1来表示。

    • 十进制:逢十进一

      基数为10,数值部分用0、1、2、3、4、5、6、7、8、9来表示.

    • 十六进制:逢十六进一

      基数是16,有十六种数字符号,除了在十进制中的0至9外,还另外用6个英文字母A、B、C、D、E、F来表示十进制数的10至15。

    1.4 二进制的优缺点

    二进制最大的优点是运算规则简单,技术上很容易实现,且可靠性高不易出错,容易实现逻辑运算。

    二、数制的相互转换

    2.1 二进制、八进制、十六进制转十进制

    例1:将下列二进制数转换为十进制数

    t1tt7n.png

    例2:将下列八进制数转换为十进制数

    t1t36g.png

    例3;将下列十六进制数转换为十进制数

    t1tUkq.png

    2.2 、十进制转二进制、八进制、十六进制

    例1:将下列十进制数转换为二进制

    t1t8XQ.png

    例2:将下列十进制数转换为八进制

    t1tY0s.png

    例3:将下列十进制数转换为十六进制

    t1tat0.png

    2.3 二进制转八进制、十六进制;八进制转十六进制

    例1:将二进制数100010转换为八进制

    **方法:**将每3个二进制数分为一组(从左至右),不够时补0

    t1tdhV.png

    例2:将二进制数100111010转换为十六进制

    **方法:**将每4个二进制数分为一组(从左至右),不够时补0

    t1t0pT.png

    例3:将八进制数1325转换为十六进制

    八进制数不可以直接转换为十六进制,需要先将其转换为二进制或十进制再转为十六进制。方法同上,这里就不在赘述。答案:2D5

    2.4 特殊情况:小数点的处理

    如果遇到十进制数例如23.76,如何转换?

    t1tB1U.png

    三、进制转换快速查表

    下表清晰的反应了不同数制之间的对应及转换关系:

    t1tDcF.md.png

    展开全文
  • 二进制、十进制、十六进制理解

    千次阅读 2020-10-21 11:23:12
    1.如何理解二进制、十进制、十六进制 点击查看原文 1.1 十进制的理解: 生活中我们遇到的绝大部分数据都是十进制的,比如7、24、30、365等,如果把它们按照个位、十位、百位分解,可以这样表示: 数值 ...

    目录:

    1.如何理解二进制、十进制、十六进制

    2.Java中实现二进制、十进制、十六进制转换

    3.Java &、&&、|、||、^、<<、>>、~、>>>等运算符

    4.int & 0xFF的含义

    5.为什么java中中文转byte字节数组出现负数


    1.如何理解二进制、十进制、十六进制

    点击查看原文

    1.1 十进制的理解:

    生活中我们遇到的绝大部分数据都是十进制的,比如7、24、30、365等,如果把它们按照个位、十位、百位分解,可以这样表示:

    数值

    个位

    十位

    百位

    7

    7

    0

    0

    24

    4

    2

    0

    30

    0

    3

    0

    365

    5

    6

    3

    把表格中的数值,用数学运算表达式表示是这样的:

    数值

    分解

    7

    1*7

    24

    10*2+1*4

    30

    10*3+1*0

    365

    100*3+10*6+1*5

    十进制是“逢十进一”的规则,例如数字9,已经是个位上能够表示的最大的数值了,如果要表示更大的数值,就需要突破个位,使用十位来组成一个“数字串”来表示了,比如10(十位上是1,个位上是0),因此对十进制的的加法可以这样理解:

    例如:8+7=15

    1. =8+(2+5)
    2. =8+2+5
    3. =10+5
    4. =15

    1.2二进制的理解

    二进制是“逢二进一”,也就是说二进制只有0、1两个数字来表示,遇到2时就需要向高位“进一”了,比如“24”使用二进制来表示就是“0001 1000”

    如果在书写或者程序中使用这样的表示方式,就太啰嗦了,且不便于 其他进制区分,所以有了一个来表示二进制的规定,就是0b(十六进制是0x来表示),比如刚才的“0000 0000 0001 1000”可以使用“0b00011000”。

    在十进制中像365这样的数值,我们可以这样理解:

    1. 365=100*3+10*6+1*5

    相应的在二进制中也有类似的规则,区别是:

    十进制是“逢十进一”,采用“个/十/百/千/......”的进位递增;

    二进制是“逢二进一”,采用“1/2/4/8/16/......”的进位递增

    下面以几个二进制数值来举例:


    把上面表格的表达方式用数学运算表达式表示的话,是这样的:

    其实根本就在于,十进制中相邻进制之间相差10倍,而二进制中相邻进制之间相差的是2倍,只要记住这点,然后使用十进制相似的规则去套就行了。

    1.3十六进制的理解

    在理解二进制的基础上来理解十六进制,只需要转换一些概念就行。

    十六进制是使用16个“数字”来表示的,由于0~9只有10个数字,因此就制定了A、B、C、D、E、F六个字母来表示剩余的几个数字,分别是10、11、12、13、14、15。

    简单来说,就是把四个二进制“数字”为一组,合起来用一个“十六进制”里的“数字”来表达。

    二进制的表达使用的是0b,十六进制的表达使用的是0x

    我们按照前边的十进制和二进制的方式来举例几个十六进制的数值:

    上面表格的表达方式用数学运算表达式表示的话,就是下面这样:

    请留意:0xA等于10,0xF等于15

    在二进制和十进制中,相邻进制之间相差的倍数分别为2倍和10倍,而在十六进制中从上表可以看出相邻进制之间相差倍数为16倍,也就是:

    “逢十六进一”,采用“1/16/256/4096/......”的进位递增。

    1.4补充信息

    针对上面的描述,补充一些信息:

    1. 书写二进制数值时,为了工整一般会补足四位

    例如:“0b110”一般写作“0b0110”

    1. 书写十六进制数值时,为了工整一般会补足两位或者四位

    例如:0x06(补足为两位),0x01FF(补足为四位)

    2.Java中实现二进制、十进制、十六进制转换

    Java中的Integer类提供了将int转为二进制、八进制、十进制、十六进制的方法,分别是:

    FormToMethod
    十进制十六进制Integer.toHexString(int i)

    十进制

    八进制Integer.toOctalString(int i)
    十进制二进制Integer.toBinaryString(int i)
    十六进制十进制Integer.valueOf("FFFF",16).toString()
    八进制十进制Integer.valueOf("876",8).toString()
    二进制十进制Integer.valueOf("0101",2).toString()

    通过Integer.parseInt()方法可直接将二进制、八进制、十六进制转为十进制

    parseInt(String s, int radix)

    使用第二个参数指定的基数,将字符串参数解析为有符号的整数。

    3.Java &、&&、|、||、^、<<、>>、~、>>>等运算符

    点击查看原文

    java运算大致分为逻辑运算符、算数运算符、位运算符和其他运算符:

    • 逻辑运算符:&&、||、!
    • 算数运算符:+、-、*、/、+=
    • 位运算符:^、|、&
    • 其他运算符:三元运算符

    3.1.1逻辑与(&&)

    &&逻辑与也称为短路逻辑与,先运算&&左边的表达式,一旦为假,后续不管多少表达式,均不再计算,一个为真,再计算右边的表达式,两个为真才为真

    举例:

    if(a == 0 && b==1)

    3.1.2逻辑或(||)

    逻辑或||的运算规则是一个为真即为真,后续不再计算,一个为假再计算右边的表达式。

    举例:

    if(a==0 || b==0)

    3.1.3逻辑非(!)

    即表示不等于

    举例:

    if(a != 0)

    3.1.4按位与(&)

    &按位与的运算规则是将两边的数转换为二进制位,然后运算最终值,运算规则即(两个为真才为真)1&1=1 , 1&0=0 , 0&1=0 , 0&0=0

    举例:

    int i = 3 & 5;

    3的二进制位是0000 0011 , 5的二进制位是0000 0101 , 那么就是011 & 101,由按位与运算规则得知,001 & 101等于0000 0001,最终值为1

    3.1.5按位或(|)

    |按位或和&按位与计算方式都是转换二进制再计算,不同的是运算规则(一个为真即为真)1|0 = 1 , 1|1 = 1 , 0|0 = 0 , 0|1 = 1

    举例:

    int i = 6 | 2;

    6的二进制位0000 0110 , 2的二进制位0000 0010 , 110|010为110,最终值0000 0110,故6|2等于6

    3.1.6异或运算符(^)

    ^异或运算符顾名思义,异就是不同,其运算规则为1^0 = 1 , 1^1 = 0 , 0^1 = 1 , 0^0 = 0

    举例:

    int i = 5 ^ 9;

    5的二进制位是0000 0101 , 9的二进制位是0000 1001,也就是0101 ^ 1001,结果为1100 , 00001100的十进制位是12

    3.1.7左移运算符(<<)

    凡位运算符都是把值先转换成二进制再进行后续的处理.

    举例:

    int i = 5 << 2;

    5<<2的意思为5的二进制位往左挪两位,右边补0,5的二进制位是0000 0101 , 就是把有效值101往左挪两位就是0001 0100 ,正数左边第一位补0,负数补1,等于乘于2的n次方,十进制位是20

    3.1.8右移运算符(>>)

    凡位运算符都是把值先转换成二进制再进行后续的处理.

    举例:

    int i = 5 >> 2;

    5的二进制位是0000 0101,右移两位就是把101左移后为0000 0001,正数左边第一位补0,负数补1,等于除于2的n次方,结果为1

    3.1.9取反运算符(~)

    取反就是1为0,0为1

    规律:正整数N取反结果为:负(N+1);负整数-N取反结果为:N-1

    举例:

    int i = ~5;

    5的二进制位是0000 0101,取反后为1111 1010,值为-6

    3.1.10无符号右移运算符(>>>)

    正数无符号右移

    无符号右移运算符和右移运算符的主要区别在于负数的计算,因为无符号右移是高位补0,移多少位补多少个0。

    举例:

    int i = 15 >>> 2;

    15的二进制位是0000 1111 , 右移2位0000 0011,结果为3

    负数无符号右移

    举例:

    long i = -6 >>> 3;

    -6的二进制是6的二进制取反再加1,6的二进制也就是0000 0000 0000 0000 0000 0000 0000 0110,取反后加1为1111 1111 1111 1111 1111 1111 1111 1010,右移三位0001 1111 1111 1111 1111 1111 1111 1111

    4.int & 0xFF的含义

    点击查看原文

    在将byte字节转为Hex十六进制时,会使用 & 0xFF将字节值处理一下,如下图所示:

    原因:

    Java基础数据类型长度:

    byte=1个字节=8位二进制

    计算机存储数据机制:正数存储的二进制原码,负数存储的是二进制的补码。  补码是负数的绝对值反码加1。

    对于正数(00000001)原码来说,首位表示符号位,反码 补码都是本身

    对于负数(100000001)原码来说,反码是对原码除了符号位之外作取反运算即(111111110),补码是对反码作+1运算即(111111111)

    举例:

    byte[]  b = new byte[5];

    b[0] = -12;

    而-12 的绝对值原码是:0000 1100  取反: 1111 0011  加1:  1111 0100

    byte --> int   就是由8位变 32 位 高24位全部补1: 1111 1111 1111 1111 1111 1111 1111 0100 ;

    0xFF的二进制表示就是:1111 1111。   高24位补0:0000 0000 0000 0000 0000 0000 1111 1111;

    -12的补码与0xFF 进行与(&)操作  最后就是0000 0000 0000 0000 0000 0000 1111 0100

    byte类型的数字要&0xff再赋值给int类型,其本质原因就是想保持二进制补码的一致性。

     

    当byte要转化为int的时候,高的24位必然会补1,这样,其二进制补码其实已经不一致了,&0xff可以将高的24位置为0,低8位保持原样。这样做的目的就是为了保证二进制数据的一致性。

    有人问为什么上面的式子中b[0]不是8位而是32位,因为当系统检测到byte可能会转化成int或者说byte与int类型进行运算的时候,就会将byte的内存空间高位补1(也就是按符号位补位)扩充到32位,再参与运算。

    5.为什么java中中文转byte字节数组出现负数

    点击查看原文

    GBK采用双字节8位表示dao,总体编码范du围为 8140 -- FEFE,首字节在zhi 81 -- FE 之间,尾字dao节在 40 -- FE 之间。

    ASCII是7位编码内,只使用前7位,第容8位补0,所以转换成整数始终为正数,而GBK是8位编码,也就是说一个字节中的第8位可以为1,如1010 1101,而将其转换成byte类型时,byte值为10101101,以补码存储,第8位被当成符号位,当然是负数了,值为:-83。

    “何”字的GBK编码是:BA CE(1011 1010 1100 1110),两个字节第8位都为1,对byte类型来说,都被理解为最高位符号位。这样值就变成-70和-50了。

    展开全文
  • 十进制转k进制 k进制转十进制

    千次阅读 2019-02-21 14:59:30
    十进制转k进制 手算方法: 例如,205.345(10) =11001101.01011(2) ,转化时分为整数部分和小数部分 整数部分:除以k取余,写的时候从下往上将余数写出来即可 小数部分:乘以k取整,写的时候从上往下将竖式的整数...
  • 十进制与二进制的相互转化· (一). 字节(Byte)的概念和相关换算· (二). 十进制与二进制的转化1.十进制——>二进制①. 整数 (除2取余)②.小数 (乘2取整)2.二进制——>十进制 (*按权相加*)①. 整数...
  • 我们在课本的学习中,几乎用到的都是数制,像二进制、八进制、十进制、十六进制都是数制。 举个例子二进制 10010 我们知道它表示的数值大小是 18。(十进制下) 码制:表示事物的规则 码制就是用数字来表示具体...
  • 二进制、八进制、十进制、十六进制关系及转换

    万次阅读 多人点赞 2019-02-21 21:20:22
    二进制,八进制,十进制,十六进制之间的关系是什么?浮点数是什么回事? 本文内容参考自王达老师的《深入理解计算机网络》一书&amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;中国水利水电出版社&amp;amp;amp;amp...
  • 十进制小数转二进制matlab代码musicWord2Vec 论文Chuan C.-H.,Agres K.和Herremans D.的代码,“从上下文到概念:使用Word2Vec探索音乐中的语义关系”,《神经计算与应用》,关于音乐深度学习的特刊and Audio,...
  • 二进制、八进制、十进制与十六进制  转自:http://yuanbin.blog.51cto.com/363003/111161/ 一、 进制的概念 在计算机语言中常用的进制有二进制、八进制、十进制和十六进制,十进制是最主要的表达形式。 ...
  • 1.十进制整数转换为二进制整数 十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止...
  • 进制的相互转换4.1 二进制与十进制的相互转化4.2 二进制与十六进制的相互转换4.3 十进制与十六进制的相互转换5. 人类为什么最习惯用十进制6. 计算机为什么用的是二进制小结 1. 进制的定义 首先我们需要先了解什么是...
  • 十进制(Decimal),十六进制(Hexadecimal)是我们常用的进位制。 我们正常使用是十进制数,计算机使用二进制。在计算机组成原理中,我总结的是二进制与十进制的相互转换已经二进制编码间的转换。 备注:计算机使用...
  • 二进制、八进制、十进制与十六进制 一、 进制的概念 在计算机语言中常用的进制有二进制、八进制、十进制和十六进制,十进制是最主要的表达形式。 对于进制,有两个基本的概念:基数和运算规则。 基数:基数是指一种...
  • 十进制:0 1 2 3 4 5 6 7 8 9 十六进制:0 1 2 3 4 5 6 7 8 9 A B C D E F 因为人类天然性的拥有十个手指,所有我们选择了十进制-手指来进行计数 十进制的基数为10,数码由0-9组成,计数规律逢十进一。 进制有 0~9 ...
  • BCD码与十进制转换

    千次阅读 2019-08-05 12:09:15
    BCD码(Binary-Coded Decimal‎)称为二进码十进数或二——十进制代码。用4位二进制数来表示1位十进制数中的0~9这10个数码。BCD码可分为有权码和无权码两类:有权BCD码有8421码、2421码、5421码,其中8421码是最常用...
  • 十进制转二进制快速法

    千次阅读 2020-03-25 12:02:22
    就是拿一个十进制数进行对二取余,不过,我在这发现了一个细节,那就是偶数直接写零,然后用十进制数缩小二倍看是否为偶数,是就再写零(从右往左写),当为奇数时直接写一,然后减一缩小二倍,直到十进制数为一或...
  • 计算机网络IPv4地址详解——二进制和十进制一、二进制和十进制关二、IPv4地址 一、二进制和十进制关 从上图(8位)我们可以看出一些特征: 二进制每进一位,十进制就乘二; 128之前的二进制数,第一位都是0; 128...
  • 一、进制概念

    2021-07-21 19:06:42
    1、进制就是一种计数方法,也叫进位计数法或位值计数法 R进制共有0~(R-1)个数组成,并且逢R进一 2、常用进制: 八进制 java中0开头表示 十六进制 java中0x表示 二进制 java中ob表示 ... 十进制 默认 ...
  • 这一篇文章要探讨的是“如何用算法实现十进制转十六进制”并不涉及什么特别的知识点。属于C语言基础篇。 在翻找素材的时候,发现一篇以前写的挺有意思的代码,这篇代码里面涉及的知识点没有什么好讲的,也没有什么...
  • 进制概念

    2020-01-05 00:33:35
    1.在计算机中,最常使用的是二进制,八进制,十进制和十六进制 2.对于任何一种进制—x进制,就表示每一位置上的数运算时都是逢x进一位 (1)二进制:0,1 (2)八进制:0,1,2,3,4,5,6,7 (3)十进制:0,1,2,3,4,5,6,7,8,...
  • 在计算机语言中常用的进制有二进制、八进制、十进制和十六进制,十进制是我们常用的表现形式。对于进制有两个基本的概念:基数和运算规则。 基数:基数是指一种进制中组成的基本数字,也就是不能再进行拆分的数字。 ...
  • 我们先来看一下概念。 一、概念 1、二进制(binary)在数学和数字电路中指以2为基数的记数系统,...3、十进制(计数法)是以10为基础数字系统, 用0、1、2、3、4、5、6、7、8、9 这十个数来表示,是在世界上应用最...
  • 二进制数与十进制数的转换 聊二进制数的运算前,我们先看看二进制数的值与十进制数的值是如何相互转换的, 十进制转换成二进制 将十进制数除以2,得到的商再除以2,依次类推直到商为1时为止,然后在旁边标出各步的...
  • BCD码与十进制数间转换

    千次阅读 2020-05-26 20:25:47
      BCD码(Binary-Coded Decimal‎)称为二进码十进数或二——十进制代码。用4位二进制数来表示1位十进制数中的0~9这10个数码。BCD码可分为有权码和无权码两类:有权BCD码有8421码、2421码、5421码,其中8421码是最...
  • 摘自https://baike.baidu.com/item/%E5%8D%81%E8%BF%9B%E5%88%B6%E8%BD%AC%E4%BA%8C%E8%BF%9B%E5%88%B6 python实现进制转换:... 十进制转二进制 编辑 1. 十进制整数转换为二进制整数 十进制整数...
  • 假设有十进制整数 2748,如何转换它的二进制呢,将2748除尽2得到商和余数(倒序),即1010 10111100 现在是12位,因为一个字节是8位,所以必须以 8 的整数倍存储,需要补齐到16位 就是 00001010 10111100, 但是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 108,917
精华内容 43,566
关键字:

十进制的概念是什么