精华内容
下载资源
问答
  • 计算机为什么采用二进制

    千次阅读 2018-04-26 10:14:04
    1、技术实现简单。计算机是由逻辑电路组成,逻辑电路通常只有两种状态,开关的接通和断开,正好“0”“1”表示。 2、运算规则简单,两个二进制数的和、积运算... 4、易于进行转换,二进制和十进制转换简单。...
           1、技术实现简单。计算机是由逻辑电路组成,逻辑电路通常只有两种状态,开关的接通和断开,正好用“0”“1”表示。
      2、运算规则简单,两个二进制数的和、积运算组合简单。
      3、适合逻辑运算,二进制只有两个数码,和逻辑代数中的“真”“假”相吻合。
      4、易于进行转换,二进制和十进制数转换简单。
    展开全文
  • 学习二进制

    2019-06-26 11:24:00
    什么是二进制 计算机是由逻辑电路组成的, 计算机底层通信就是通过电信号传递的,逻辑电路通常只有两个状态接通和断开, 这两种状态证号...我们常见的有二进制,十进制, 八进制,十六进制,这些进制之前是可以相互...

    什么是二进制

    计算机是由逻辑电路组成的, 计算机底层通信就是通过电信号传递的,逻辑电路通常只有两个状态接通和断开, 这两种状态证号可以用1,0表示。二进制数据就是用0和1两个数码来表示的数。

    这个我们经常可以在战争剧中看到, 他们在发送电报的时候,通过点击手柄,发送出去的就是电信号,不过他们使用了摩尔斯编码。

    进制转换

    我们常见的有二进制,十进制, 八进制,十六进制,这些进制之前是可以相互转换的。

    二进制与其他进制进行相互转换

    • 十进制转二进制 ==》 除2取余法

                

       (150)10 = (10010110)2

    • 二进制转八进制 ==》3位二进制一组

       (11001011)2 = (11 001 011)2 = (313)8 = (203)10

    • 二进制转八进制 ==》4位二进制一组

        (11001011)2 = (1100 1011)2 = (cb)16 = (203)10

     

    二进制的运算

    • 四则运算

       1. 加法

       

       2. 减法

       

    • 逻辑运算

       1. 按位与运算符(& 叫做and)

          规则:0&0 = 0, 0&1 = 0, 1&1=1.

          两位同时为1,结果为1,否则为0  
          (00000011) & (00000101) = (00000001)

       2.按位或运算符( | 或者叫做or)

          规则:0|0 = 0,1|0 = 1,0|1 = 1,1|1 = 1

          参加位运算的两位只要有一个为1,那么就为1
          (00000011) | (00000101) = (00000111)

       3.异或运算符(^ 也叫xor(⊕也表示异或))

          规则:0^0 = 0,0^1=1,1^0=1,1^1=0

          参加位运算的两位只要相同为0,不同为1
          (00000011)^(00000101 = (00000110)
          特别的任意数 ^ 0 = 任意数.

       4.取反运算符(~)

          规则:二进制位0变为1,1变为0

       5.左移(<<)

          规则:相当于乘以2

       6.右移(>>)

          规则:相当于除以2

    机器数

    数在计算机中的表示形式统称为机器数。

    最高位存放符号, 正数为0,负数为1

    机器数有2个特点:一是符号数字化,二是其数的大小受机器字长的限制

    • 真值

        第一位是符号位,所以机器数的形式值不等于真正的数值
        将带符号位的机器数对应的真正数值称为机器数的真值

        0000 0001的真值 = +000 0001 = +1
        1000 0001的真值 = -000 0001 = -1

    在计算机内,有符号数有3种表示法:原码、反码和补码

    • 原码

        原码是符号位加上真值的绝对值,即用第一位表示符号, 其余表示值. 例如8位二进制:
        [+1]原码 = 0000 0001
        [-1]原码 = 1000 0001
        八位二进制的取值范围:
        [1111 1111, 0111 1111] = [-127, 127]

        原码是有符号数的最简单的编码方式,便于输入输出,但作为代码加减运算时较为复杂

    • 反码

        反码的表示方法:
        正数的反码是其本身;
        负数的反码是在其原码的基础上, 符号位不变, 其余各个位取反;
        [+1] = [0000 0001]原码 = [0000 0001]反码
        [-1] = [1000 0001]原码 = [1111 1110]反码

    • 补码

        补码的表示方法:
        正数的补码就是其本身;
        负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后加1(即在反码基础上加1);
        [-1] = [1000 0001]原码 = [1111 1110]反码 = [1111 1111]补码
        在计算机系统中, 数值一律用补码来表示(存储)。数据在计算机中主要是以补码的形式存储的。

        使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理;此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。

    计算机中采用二进制的主要原因

    • 技术实现简单:只有0,1两种状态;
    • 简化运算规则:0,1运算规则简单;
    • 适合逻辑运算:只有两个数码,正好和真假吻合;
    • 易于进行转换:二进制与十进制易于相互转换;
    • 抗干扰能力强,可靠性高等:只有两种状态,容易区分;

    二进制的一个应用场景

    • 判断以下两个IP地址是否在同一子网

        192.168.10.100/25

        192.168.10.200/25

        知识背景:

          IP地址分为两部分:网络部分和主机部分, 网络部分用于标识子网。

          子网掩码:表示子网络特征的一个参数。它在形式上等同于IP地址,也是一个32位二进制数字,它的网络部分全部为1,主机部分全部为0。

          比如,IP地址172.16.10.1,如果已知网络部分是前24位,主机部分是后8位,那么子网络掩码就是11111111.11111111.11111111.00000000,写成十进制就是255.255.255.0。

          获取子网地址的方法:将IP地址与子网掩码进行AND(按位与)运算。

        192.168.10.100/25的IP地址二进制表示:

        192.168.10.100: 11000000 10101000 00001010 01100100

        192.168.10.100/25的子网掩码二进制表示(主要25表示前25位为网络位):

        子网掩码:11111111 11111111 11111111 10000000

        AND运算结果:

        

        

        192.168.10.200/25 AND运算结果:

        

        最后得出的网络地址不一样,所以这两个IP不在同一个子网。

     

    转载于:https://www.cnblogs.com/daly/p/11088863.html

    展开全文
  • 0.1.2 二进制补码

    2014-09-03 13:44:00
    人类之所以习惯十进制,据说是由于手指头来计算比較方便,而人正好有10个指头。】 本节就2面(page6和p7)纸。尽管二进制补码属于每一个程序猿都应该熟练掌握的内容,但通常安排同学们自学。 重点要理解:为什么要...

    《编程导论(Java)·0.1.2 二进制补码》


    p6:【冯•诺伊曼体系结构计算机使用二进制。人类之所以习惯十进制,据说是由于用手指头来计算比較方便,而人正好有10个指头。】

    本节就2面(page6和p7)纸。尽管二进制补码属于每一个程序猿都应该熟练掌握的内容,但通常安排同学们自学。

    重点要理解:为什么要採用补码?


    将10进制数转换为二进制数时,负数怎样在二进制中表达呢?为了解说的方便,这里使用半个字节(Nibble)即4位为数据长度。

    将最高位作为符号位是自然的想法。通常以0表示正、1表示负。去掉符号位后,正数就剩下的3位来表示0~7,0b0000~0b0111等称为原码。对于负数有一种简单但有问题的表示方式:符号加绝对值,如图0-4中间一列所看到的。


    图 0‑4 补码

    它有两个问题(以下的01串不是正规的二进制表示,因而不加前缀0B):

    •  在整个0000至1111的编码中,出现了两个0,即0000和1000表示+0和-0。想推断一个数是否等于0的时候,会给编程带来麻烦。
    •  更关键的问题是,两个正数的加法与两个正数的减法(也即一个正数加一个负数)没有统一的运算法则。以下是出了问题的样例:

    6-3 = 0110 + 1011 = 0001 = 1;
    -3-2= 1011 + 1010 = 0101(有溢出) = 5

    为了解决这些问题,计算机科学中,以二进制补码(the two’s complement)来编码数值。

    负数的补码算法:将相应的正数每位取反,然后最低位加1。

    比如求-5的补码例如以下:

    相应的正数: 0b0101

    每位取反:   0b1010

    最低位加1:   0b1011



    要求完毕:

    • 练习0-11:有人找程序猿借了500元钱,后来又想借500元,程序猿说,干脆凑个整数,这是524块。为什么唐纳德·克努特给找出其巨著中任一错误的读者2.56美元?(请熟记2的各次幂)
    • 练习0-12:请严格地定义二进制补码规则。提示:符号位、正数的补码、负数的补码。(我们不给出二进制补码规则,仅介绍负数的补码算法,其它你自己搞定)
    • 练习0-13:数据长度为n位的有符号二进制整数,为什么最大正数为2n-1 -1?可以表示的最大负数为多少?(Java整形的取值范围)
    • 练习0-16:计算下列各题:(1)0x9AB4+0x5C; (2) 0170-023 ;(3) 0b1101*0b101

      练习0-17.:转换进制。(1) 0b1001_1100 = 0____;(2) 0x7F = 0b_______ ;(3) 0107 = 0b_________。


    • 在学习《第12章位运算》时,本节的知识是基础,非常重要。
    • 最好的练习项目:整形算术编码。

    展开全文
  • 通常我们说一种数据类型占多少字节,就是说这种数据类型可以表示多少位的二进制数,同时二进制数可以转换十进制数,进而得到这种数据类型可以表示多大的十进制数!打个比方,MYSQL中的int型数据类型,大家都知道int...

    一切数据在计算中都是以二进制形式存储,而8位二进制数就表示1个字节。

    通常我们说一种数据类型占多少字节,就是说这种数据类型可以表示多少位的二进制数,同时二进制数可以转换为十进制数,进而得到这种数据类型可以表示多大的十进制数!

    打个比方,MYSQL中的int型数据类型,大家都知道int型可以表示4个字节,那就是32位二进制,32位二进制就能表示无符号十进制数0~4394967295.

    所以我们给这个int数据类型赋值一个在0和4394967295之间的数就可以了,如果超出这个范围系统就会报错。

    MYSQL数据类型分为几种:

    一:整型

    数据类型 (显示宽度)

    整型类型

    字节数

    无符号数的取值范围

    有符号数的取值范围

    INT

    4

    0~4394967295

    -2147483648~2147483647

    一般INT型在我们平常用的时候就足够我们使用了,整型中还有一些不常用的:TINYINT(1),SMALLINT(2), MEDIUMINT(3),INTEGER(4),BIGINT(8).

    二:浮点数和定点数

    数据类型 (M, D)

    整型类型

    字节数

    负数的取值范围

    非负数的取值范围

    FLOAT

    4

    -3.402823466E+38~

    -1.175494351E-38

    0和1.175494351E-38~

    3.402823466E+38

    M参数称为精度,表示数据总长度,不算小数点。

    D参数称为标度,指小数点后面的长度。

    其他的浮点型还有DOUBLE(8),定点型DECIMAL(M, D)或者DEC(M, D),由于MYSQL中的浮点型数据会出现误差,如果需要精确的话建议使用DEC定点型。

    三:日期和时间类型

    整型类型

    字节数

    取值范围

    零值

    DATETIME

    8

    1000-01-01 00:00:00~

    9999-12-31 23:59:59

    0000-00-00 00:00:00

    表示日期时间一般都是用DATETIME类型,还有一些不常用的

    YEAR(1): 只表示年份,范围1901~2155

    DATE(4): 只表示年月日,范围1000-01-01~9999-12-31

    TIME(3): 表示小时,分,秒。范围-838:59:59~838:59:59

    TIMESTAMP(4): 格式和DATETIME一样,但是表示的范围要小。

    四:字符串类型

    字符串类型(M)

    CHAR(M): 固定为M个字节长度存储字符串。

    VARCHAR(M): 最长M个字节长度,实际长度为存入字符串的长度+1。

    TEXT(M): 最长为65535字节,实际存储空间是存入字符串的长度+2。

    ENUM('VALUE1','VALUE2',...): 枚举类型,范围只能是列表中的值,MYSQL存入的是列表中的序列号,如果插入的值不是列表中有的就会报错。列表中值最多65535个

    SET('VALUE1','VALUE2',...): 和枚举类型差不多,但是列表中的值最多64个。

    五:二进制类型

    待续。。。

    展开全文
  • 我倾向于在所有情况下设计小数,并依靠分析器让我知道十进制操作是否导致瓶颈或减速 . 在这些情况下,我将“向下转换”为double或float,但仅在内部执行,并通过限制正在执行的数学运算中的有效位数来小心地尝试...
  • 要求:输入4位二进制码(0~15),输出为 BCD码,BCD码数码管显示。...最常见的二进制码是 8421 码,它可以方便的进行加减乘除运算,而不需要进行什么转换。计算的结果,通常还是 8421 码。把计算的结果,显
  • 它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。 消息摘要算法的主要特征是加密过程不需要密钥,并且经过加密的数据无法被解密,目前可以被解密逆向的只有CRC32算法,...
  • 计算机会把你心里想的十进制小数转换为二进制小数,然后在内存中存储二进制小数 CPython 中的 float 类型使用C语言的 double 类型进行存储。 float 对象的值是以固定的精度(通常为 53 位)存储的二进制浮点数,由于...
  • 面试刷题9-28

    2019-09-28 22:06:55
    开发岗面经 08.18 浦发银行 系统开发 机考+面试 机考:50min 三道编程题(二进制和十进制转换,字符串中的字符数量统计,字符串判断是否合法) ...4. 数据库通常用什么 5. 怎么保证项目能达到预定的Q...
  • 它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。 举个例子,你写了一篇文章,内容是一个字符串'how to use python hashlib - by Michael',并附上这篇文章的摘要是'2d...
  • 它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。 注意:摘要算法不是一个解密算法。(摘要算法,检测一个字符串是否发生了变化) 应涂:1.做文件校验  2.登录密码 ...
  • BigDecimal DecimalFormat 金额处理

    千次阅读 2018-12-11 09:26:01
    结果是0.2,JS这样计算也会出现类似的精度问题,可为什么...我们先来看十进制0.2如何转换成二进制(使用乘2取整,顺序排法),我们发现0.2不能二进制准确表示,在二进制世界里这是个无限循环的小数,常见的问题...
  • 1.1 降幂法和除法将下列十进制转换为二进制数和十六进制数: (1) 369 (2) 10000 (3) 4095 (4) 32767 答:(1) 369=1 0111 0001B=171H (2) 10000=10 0111 0001 0000B=2710H (3) 4095=1111 1111 1111B=...
  • 思科网络技术学院教程CCNA1

    热门讨论 2013-05-28 06:37:53
    附录a给出了每章结尾复习题的答案,附录b提供了二进制/十进制数的转换表,附录c提供了一些额外的练习题。术语表描述了书中使用的有关网络的术语和缩写。  本书为思科网络技术学院第1学期的指定教材,适合准备参加...
  • <p>JS中数字通常用十进制表示: <pre><code> js var b = 42.3; b = 0.42; b = .42; // 十进制开始部分如果是0可以省略 b = 42.0; b = 42. ;// 十进制结束部分如果是0可以省略 b = 42....
  • 如今,随着多媒体技术逐渐被车载电子设备所采用, 数字信号处理器 (DSP)也获得了越来越广泛的应用, 以对音频信号进行数字化处理。例如,车载多媒体系统取代传统的汽车收音机和CD系统,在此多媒体系统中采用DSP, 例如...
  • 易语言辅助模块

    2013-02-14 19:52:02
    参数 配置文件名, 文本型, , 全路径配置文件名,指定配置文件的名称,通常以.ini作为文件名后缀。 .参数 小节名, 文本型, , 包含欲读入配置项所处节的名称。 .参数 项目名, 文本型, , 参数值指定欲读入配置项在其节...
  • Proteus仿真—40个单片机初学程序.

    热门讨论 2009-04-13 13:00:56
    表格进行程序设计的时候,要以下的指令来完成 (1). 利用MOV DPTR,#DATA16的指令来使数据指针寄存器指到表的开头。 (2). 利用MOVC A,@A+DPTR的指令,根据累加器的值再加上DPTR的值,就可以使...
  • 新手学习C++入门资料

    2008-12-28 23:58:50
    布儿型变量在运行时通常用做标志,比如进行逻辑测试以改变程序流程。 #include iostream.h int main() { bool flag; flag=true; if(flag) cout; return 0; } C++中还包括wchar_t数据类型,wchar_t也是...
  • 会计理论考试题

    2012-03-07 21:04:40
    A、直接拖至 B、Ctrl拖至 C、Alt拖至 D、单击 24.Windows98中的磁盘的根文件夹是___B___。 A、在“文件”菜单中选择“新建”命令产生 B、格式化磁盘时,系统自动产生 C、在桌面上单击右键,再选择“新建”命令...
  • 程序和进制 - 指令和程序 / 冯诺依曼机 / 二进制和十进制 / 八进制和十六进制 变量和类型 - 变量的命名 / 变量的使用 / input函数 / 检查变量类型 / 类型转换 数字和字符串 - 整数 / 浮点数 / 复数 / 字符串 / 字符...
  • Reversing:逆向工程揭密

    热门讨论 2010-06-21 17:27:22
    第三卷************** 不错的PDF电子书,共3个分卷,点我名字可以找全 第1部分 逆向101 ...本书所讨论的就是通常所说的二进制逆向工程。二进制逆向工程技术的目标是从没有源代码的程序中提取有价值的信息。...
  • 经过几年的发展,软件逆向工程领域已有不少研究成果和商业化的产品;但是软件逆向工程仍然算不上成熟,这主要表现在对理论和实践的研究都还处于早期的探究阶段,并未形成统一的、系统的、科学的软件逆向工程的理论...

空空如也

空空如也

1 2 3 4
收藏数 61
精华内容 24
关键字:

十进制通常用什么转换