Lesson 001 —— 数据

Lesson 001 —— 数据

数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的原始素材。数据是信息的表现形式和载体,可以使符号、文字、数字、语音、图像、视频等。

进制

进制也就是进位制,是人们规定的一种进位方式。

  • 十进制

    • 数码:指集合论中刻画任意集合所含元素数量多少的一个概念。

      十进制的基本符号是:0, 1, 2, 3, 4, 5, 6, 7, 8, 9,我们把这些称之为十进制的数码,也就是基本符号,所有的十进制数都是由这十个数码组成。每位在加时都是“逢十进一”。

    • 位权:数制中每一固定位置对应的单位值称为位权。

      我们可以从 0 开始,对数字的各个数位进行编号,即个位起,从右向左依次编号为0, 1, 2, ...;对称的,从小数点后的数位则为-1, -2, ...;而 n 位所代表的权的大小为 10n-1

  • 二进制

    在计算机系统中采用的进位计数制。在二进制中,数用0和1两个符号来描述。计数规则是逢二进一,借一当二。

  • 数制符号

    二进制 B (binary)

    八进制 O (octal)

    十进制 D (decimal)

    十六进制 H (hexadecimal)

进制转换

  • 其它进制转十进制

    将其它进制按权位展开,然后各项相加,就得到相应的十进制数。

    例1: N=(10110.101)B=(?)D
    按权展开N=1*2^4+0*2^3+1*2^2+1*2^1+0*2^0+1*2^-1+0*2^-2+1*2^-3
    =16+4+2+0.5+0.125 =(22.625)D
  • 将十进制转换为其它进制

    分两部分进行的即整数部分和小数部分。

    • 整数部分:(基数除法)

      把我们要转换的数除以新的进制的基数,把余数作为新进制的最低位;

      把上一次得的商在除以新的进制基数,把余数作为新进制的次低位;

      继续上一步,直到最后的商为零,这时的余数就是新进制的最高位.

    • 小数部分: (基数乘法)

      把要转换数的小数部分乘以新进制的基数,把得到的整数部分作为新进制小数部分的最高位

      把上一步得的小数部分再乘以新进制的基数,把整数部分作为新进制小数部分的次高位;

      继续上一步,直到小数部分变成零为止。或者达到预定的要求也可以。

  • 二进制与八进制、十六进制的相互转换

    二进制转换为八进制、十六进制:它们之间满足23和24的关系,因此把要转换的二进制从低位到高位每3位或4位一组,高位不足时在有效位前面添“0”,然后把每组二进制数转换成八进制或十六进制即可。

    八进制、十六进制转换为二进制时,把上面的过程逆过来即可。

二进制运算

  • 算数运算

    二进制的算数运算包括:加、减、乘、除四则运算。

    1. 二进制的加法

      根据“逢二进一”规则,二进制数加法的法则为:

      0+0=0
      0+1=1+0=1
      1+1=0 (进位为1) 
      1+1+1=1 (进位为1)

      01-01

    2. 二进制的减法

      根据“借一有二”的规则,二进制数减法的法则为:

      0-0=0
      1-1=0
      1-0=1
      0-1=1 (借位为1)

      01-02

    3. 二进制的乘法

      二进制数乘法过程可仿照十进制数乘法进行。但由于二进制数只有0或1两种可能的乘数位,导致二进制乘法更为简单。二进制数乘法的法则为:

      0×0=0
      0×1=1×0=0
      1×1=1

      01-03

    4. 二进制的除法

      二进制数除法与十进制数除法很类似。可先从被除数的最高位开始,将被除数(或中间余数)与除数相比较,若被除数(或中间余数)大于除数,则用被除数(或中间余数)减去除数,商为1,并得相减之后的中间余数,否则商为0。再将被除数的下一位移下补充到中间余数的末位,重复以上过程,就可得到所要求的各位商数和最终的余数。

      01-04

      说明:乘除法分原码乘法和补码乘法。

  • 逻辑运算

    二进制数的逻辑运算包括逻辑加法(“或”运算)、逻辑乘法(“与”运算)、逻辑否定(“非”运算)和逻辑“异或”运算。

    1. 逻辑“或”运算

      又称为逻辑加,可用符号“+”或“∨”来表示。逻辑“或”运算的规则如下:

      0+0=0 或 0∨0=0
      0+1=1 或 0∨1=1
      1+0=1 或 1∨0=1
      1+1=1 或 1∨1=1

      可见,两个相“或”的逻辑变量中,只要有一个为1,“或”运算的结果就为1。仅当两个变量都为0时,或运算的结果才为0。计算时,要特别注意和算术运算的加法加以区别。

    2. 逻辑“与”运算

      又称为逻辑乘,常用符号“×”或“· ”或“∧”表示。“与”运算遵循如下运算规则:

      0×1=0 或 0·1=0 或 0∧1=0
      1×0=0 或 1·0=0 或 1∧0=0
      1×1=1 或 1·1=1 或 1∧1=1

      见,两个相“与”的逻辑变量中,只要有一个为0,“与”运算的结果就为0。仅当两个变量都为1时,“与”运算的结果才为1。

    3. 逻辑“非”运算

      又称为逻辑否定,实际上就是将原逻辑变量的状态求反,在变量的上方加一横线表示“非”。逻辑变量为0时,“非”运算的结果为1。逻辑变量为1时,“非”运算的结果为0。

    4. 逻辑“异或”运算

      “异或”运算,常用符号“”或“”来表示,其运算规则为:

      00=0 或 00=0
      01=1 或 01=1
      10=1 或 10=1
      11=0 或 11=0

      可见:两个相“异或”的逻辑运算变量取值相同时,“异或”的结果为0。取值相异时,“异或”的结果为1。

机器数与真值

  • 机器数:一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机中用一个数的最高位存放符号,正数为 0, 负数为 1 。
  • 真值:将带符号的机器数对应的真正数值称为机器数的真值。

原码、反码、补码

为了将符号位参与运算,并且只保留加法,从而简化计算机运算,发明了原码、反码和补码。它们都是用有符号的二进制数表示的方法,均由符号位数值位构成。

  • 原码:原码是符号位加上真值的绝对值,即用第一位表示符号,其余为表示值。

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

    [+1] = [0000 0001]原 = [0000 0001]反
    [-1] = [1000 0001]原 = [1111 1110]反
  • 补码:正数的补码是在其本身;负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后 +1(即在反码的基础上 +1)。

    [+1] = [0000 0001]原 = [0000 0001]反 = [0000 0001]补
    [-1] = [1000 0001]原 = [1111 1110]反 = [1111 1111]补
    [+0] = [0000 0000]原 = [0000 0000]反 = [0000 0000]补
    [-0] = [1000 0000]原 = [1111 1111]反 = [0000 0000]补

    在计算系统中,数值一律用补码来表示(存储)。主要原因:使用补码,可以将符号位和其余各位统一处理;同时,减法也可以按照加法来处理。另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃;补码与原码的转换过程几乎是相同的。

转载于:https://www.cnblogs.com/arelive/p/python-1.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396550.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sql三个表join_「数据蒋堂」第 31 期:JOIN 简化 – 维度对齐

【数据蒋堂】第 31 期:JOIN 简化 – 维度对齐我们先把上一期中双子表对齐例子的 SQL 写出来:SELECT Orders.id, Orders.customer, A.x, B.y FROM Orders LEFT JOIN (SELECT id,SUM(price) x FROM OrderDetail GROUP BY id ) A ON Orders.idA.id LEFT J…

python-3.6.2安装

1、下载python-3.6.2-amd64.exe安装包 官网下载地址:https://www.python.org/ 2、Python安装,双击傻瓜式安装(用英文路径,不要有空格), 特别要注意勾上Add Python 3.6 to PATH(勾选后&#xff0…

vc mysql init 崩溃_故障分析 | 崩溃恢复巨慢原因分析

作者:xuty本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。一、现象有个 MySQL 5.7 开发库异常挂掉后,奔溃恢复一直处于如下位置,且持续了 2 小时左右才起来…

surfaceview结束后怎么处理_污泥压滤机处理后的污泥怎么处置

在污泥处理处置中,污泥压滤机处理污泥只是对污泥进行脱水,并没有实现污泥资源化处置。再进行污泥“减量化、无害化、资源化”处理时,许多企业用污泥压滤机对污泥脱水处理后就不知道怎么继续处置了,从而使污泥饼无处可去&#xff0…

js数组详解

1,什么是数组数组是值得有序集合,每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称为索引。js的数组是无类型的,数组元素可以是任意类型,同一个数组中的不同元素可能是对象或数组…

[转载]linux内存映射mmap原理分析

转自:http://blog.csdn.net/yusiguyuan/article/details/23388771 内存映射,简而言之就是将用户空间的一段内存区域映射到内核空间,映射成功后,用户对这段内存区域的修改可以直接反映到内核空间,同样,内核空…

冒泡、快速排序小结

1.冒泡排序 (1) 比较领近的两个数 (2) 如果左边的比右边的数字大,则交换位置 (3) 向右移动一位,继续比较相邻的两个数 排序示例: 一轮排序结束后,最大值的位置已经移动最右端,再次如此循环,最终经过n-1次则…

synchronized 异常_由浅入深,Java 并发编程中的 Synchronized

synchronized 作用synchronized 关键字是 Java 并发编程中线程同步的常用手段之一。1.1 作用:确保线程互斥的访问同步代,锁自动释放,多个线程操作同个代码块或函数必须排队获得锁,保证共享变量的修改能够及时可见,获得…

Linux内存分配机制之伙伴系统和SLAB

转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6539590.html 内核内存管理的一项重要工作就是如何在频繁申请释放内存的情况下,避免碎片的产生。这就要求内核采取灵活而恰当的内存分配策略。通常,内存分配一般有两种情况&#xff1a…

this.$modal.confirm 自定义按钮关闭_自定义函数,让你玩转Excel得心应手

让“自动更正”输入统一的文本,你是不是经常为输入某些固定的文本,如《电脑报》而烦恼呢?那就往下看吧。1.执行“工具→自动更正”命令,打开“自动更正”对话框。2.在“替换”下面的方框中输入“pcw”(也可以是其他字符,“pcw”用小写),在“替换为”下面的方框中输…

CCF-CSP 最大的矩形

问题描述在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3。请找出能放在给定直方图里面积最大的矩…

MySQL的主从复制云栖社区_MySQL-主从复制

前言前篇说了作为运维在数据库块最起码要会两大技能,今天来说说第二技能--主从复制随着业务的增长,一台数据库服务器以满足不了需求了,负载过重,这时候就需要减压,实现负载均衡读写分离,一主一从或一主多从…

mysql 数据分析的步骤_数据分析8个主要步骤

# 在对数据进行分析时,主要细分为明确目标、应用思维和如下8个具体步骤:1、读取数据2、清洗数据3、操作数据4、转换数据5、整理数据6、分析数据7、展现数据8、总结报告接下来将介绍使用python来具体处理数据,包括上面几个步骤的实现&#xff…

一、win7下安装yii2

作者:PHP学习网 出处:http://www.viphper.com/?p1159 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 之前在liunx上安装过yii…

vs dll必须和exe在同一个目录_Win10系统丢失 .dll 文件的三种解决方案教程

有时候开机或打开一个软件时,系统会提示无法启动程序,这是怎么回事呢?这是因为计算机丢失某个或某些dll文件,由于系统本身不存在这些运行库文件,需要进行添加才能使用该软件。方法一:下载丢失的.dll文件&am…

datagrid页面获取表单一条数据的例子

【问题背景】 最近在做ITOO考评的时候想从页面获取表单选中的数据: 【代码】 在数据网格(datagrid)组件包含两种方法来检索选中行数据: getSelected:取得第一个选中行数据,如果没有选中行,则返回…

Spring+SpringMVC+MyBatis+easyUI整合基础篇(十)SVN搭建

前言 前面一篇文章讲了一下版本控制,但其实这一篇并没有打算讲细节的,感觉应该自己去动手弄一下,后来考虑了一下,版本控制真的挺重要的,如果自己实在搭建不好反而不去使用的话,真的有点可惜,当然…

串口数据波形显示_【专题教程第6期】SEGGER的J-Scope波形上位机软件,RTT模式波形上传可飙到500KB/S...

【专题教程第6期】SEGGER的J-Scope波形上位机软件,RTT模式波形上传速度可狂飙到500KB/S左右说明:1、在实际项目中,很多时候,我们需要将传感器或者ADC的数值以波形的形式显示。通常的解决办法是用串口上位机,USB接口上位…

JavaScript-基础入门.0014.JavaScript内置对象

2019独角兽企业重金招聘Python工程师标准>>> 简单介绍: 说明: 内置对象就是不依赖宿主环境在程序执行之前已经存在的对象,不必显式的实例化内置对象,前面已经介绍了大部分内置对象,而Global和Math两个单体内置对象比较特殊,所以单独讲. Global对象: 说明: Js中不属于…

Java中字符串连接符(+)和append的区别

参考链接:https://www.jianshu.com/p/849f1d443b3a 文章结构: 第一部分:对的原理进行分析 第二部分: 和 append 循环对比(贴出代码,以及分别循环后的反编译字节码,来对两者进行对比)…