二进制

数据概述

房东的猫 提交于 2020-03-02 13:54:10
1、大数据的价值体现在一下几个方面:   1、对大量消费者提供产品或服务的企业可以利用大数据进行精准营销。   2、做小而美模式的中长尾企业可以利用大数据做服务转型。   3、面临互联网压力下必须转型的传统企业需要与时俱进充分利用大数据的价值。 2、在计算机系统中,数据以二进制信息单元0、1的形式表示;在计算机系统中,各种字母、数字符号的组合,语音,图形,图像等统称为数据,数据经过加工后就成为信息。 3、数据在计算机中的表现形式:   1、数字数据:由阿拉伯数字符号构成的数据。如各种统计或测量数据。   2、模拟数据:指在某个区间产生的连续值,如视频、图像、文字、声音等。 4、计算机中采用二进制的主要原因:   1、技术实现简单;2、简化运算规则;3、适合逻辑运算;4、易于进行转换;   5、用二进制表示数据具有抗压能力强,可靠性高等优点。 5、机器数:一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机中的最高位存放符号,整数为0、负数为1。  真值:将带符号位的机器数对应的真正数值称为机器数的真值。 6、正数的反码是源码,负数的反码是在其源码的基础上,符号位不变,其余各个位去反。正数的补码是源码,负数的补码是在其源码的基础上,符号位不变,其余各个位去反,最后加1(即在反码的基础上加1)。 7、在计算机系统中,数值一律用补码来表示(存储)。 来源:

计算机基础知识

不羁的心 提交于 2020-03-02 11:10:20
说在前面的话 基础知识更多的理论,不会手把手教学,基本都是日常常见的一些操作。不会从计算机如何使用,计算机的运算原理等说起,市面上有很多关于计算机的书籍,有意向的同学们自己去研究。 计算机基础知识 二进制 在计算机中数据不同于我们日常所见的数据,人们在日常生活中采用十进制数,而计算机中全部采用二进制数据,它只包含0、1两个数,逢二进一,1+1=10。每一个0或者每一个1,叫做一个bit(比特,位) 。 下面了解一下十进制和二进制数据之间的转换计算: 十进制数据转成二进制数据:使用除以2获取余数的方式 二进制转换十进制:使用8421编码的方式 在电脑系统中都有的计算机功能 字节 字节是我们常见的计算机最小存储单元。计算机存储任何的数据,都是以字节的形式存储,右击文件属性,我们可以查看字节的大小。 8个bit(二进制)0000-0000表示1个字节,写成1 byte或者1 B 8 bit=1 Byte 1024 B = 1 KB 1024 KB = 1 MB 1024 MB = 1 GB 1024 GB = 1 TB ... DOS执行命令 在Windows系统中,DOS命令是我们日常中通过鼠标+键盘去做的一些操作,例如移动一个文件,进入某个磁盘,创建一个文件夹等等,系统已经将这些操作已图形的形式展现在用户面前。 在Linux系统中,shell命令就会更常见了

Java千问:Java位运算经典应用(三)

守給你的承諾、 提交于 2020-03-02 10:47:33
接上篇 五、字符串加密 在很多场合下,都需要给字符串进行加密,使字符串由”明文”变成”密文”。对字符串加密有很多种算法,其实我们利用位运算也可以实现简单的加密效果。用位运算实现加密的原理很简单,这里为大家讲解一下。假设有两个整数a和b ,a^b的结果为c。我们可以认为a就是原始数据,a与b进行异或运算所得到的c就是加密后的数据,b在加密过程中扮演着”密钥”的角色。在不知道b值的情况下,如果只是知道c的值,任何人无法仅仅根据c的值反推出a的值,也就是说,如果我们只知道加密后的数据,而不知道密钥,根本无法确切得知原始数据a的值到底是多少。如果想根据加密后的数据c来还原初始数据a,就必须用密钥b来解密。解密的方法也很简单,只要进行c^b的操作就可以了。其原理就是”a^b^b=a”,在这个等式中,”a^b”的结果就是c,所以”c^b=a”。 理解了加密和解密的最基本原理之后,我们再来说说如何具体对字符串实施加密操作。我们知道,位运算符只能对byte、short、int、long和char这几种基础类型的数据进行运算,对字符串这种引用类型的数据并不适用。既然字符串无法进行位运算,那么该如何对字符串进行加密呢?我们知道,无论是图片还是文本,在计算机当中都是以二进制数的形式进行存储的。既然是二进制数,那么每8位的二进制数,都可以转换成一个byte类型的数据。而N个8位二进制

树状数组

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-02 10:17:05
树状数组可以看作线段树的变形,不同于线段树可以计算区间和,区间最大/最小值,树状数组一般只能完成以下操作: 给定一个初始值全为0的数列 a 1 . . . a n a_1...a_n a 1 ​ . . . a n ​ 给定 i i i ,计算 a 1 + a 2 + . . . + a i a_1+a_2+...+a_i a 1 ​ + a 2 ​ + . . . + a i ​ ,即前缀和 给定 i i i 和 x x x ,执行 a i + = x a_i+=x a i ​ + = x 。 基于线段树的实现 如果使用线段树执行上述功能,只需要对介绍过的 RMQ 进行少量的修改,就可以实现,线段树每个节点维护区间的和。 接下来,我们重点关注给定区间始末 s , t s,t s , t ,如何求得 a s + a s + 1 + . . . + a t a_s+a_{s+1}+...+a_t a s ​ + a s + 1 ​ + . . . + a t ​ ,对于线段树,我们直接进行区间的迭代查询即可。但是有时这个效率依然是不够的 此时,如果我们维护前缀和 s u m [ i ] = a 0 + . . . + a i sum[i]=a_0+...+a_i s u m [ i ] = a 0 ​ + . . . + a i ​ ,那么只需要计算 s u m [ t ] − s

Redis常用命令入门1:字符串类型命令

寵の児 提交于 2020-03-02 08:28:24
Redis总共有五种数据类型,在学习的时候,一定要开一个redis-cli程序,边看边练,提高效率。 一、最简单的命令 1、获得符合规则的键名列表 keys * 这里的*号,是指列出所有的键,同时*号也可以替换成其他支持glob风格通配符格式,具体规则如下: ?:匹配一个字符 *:匹配任意个(包括0个)字符 []:匹配括号间多大任一个字符,可以使用“-”表示范围,如[a-z] \x:匹配字符x,用于转义,如需匹配问号,需要\?才能匹配 这里说明一下,redis命令是不区分大小写的,还有就是keys命令是需要遍历Redis中所有的键的,当键很多时,很耗费性能的。所以在生产环境中要尽可能的不用。 例: redis 127.0.0.1:6379> set name "joan" OK redis 127.0.0.1:6379> get name "joan" redis 127.0.0.1:6379> set aaa 1 OK redis 127.0.0.1:6379> set bbb 2 OK redis 127.0.0.1:6379> keys * 1) "aaa" 2) "name" 3) "bbb" 2、判断键是否存在 exists foo 如果存在返回证书类型1,否则返回0 例: redis 127.0.0.1:6379> exists name (integer) 1

java学习第二天

老子叫甜甜 提交于 2020-03-02 07:14:33
Java中的变量与数据类型 常见的数据类型转换 自动类型转换(隐藏) 由低级向高级的类型转换 强制类型转换(显示) 从高级别类型强制向低级别类型的转换 常用的进制 1、基本概念 日常生活中采用十进制来表示整数,逢十进一 计算机采用二进制表示整数,逢二进一 计算机还有八进制、十六进制、三十二进制 2、十进制和二进制之间的转换 正十进制转二进制 除二取余法:让十进制的整数不断除以2取出余数,直到商为0,将余数逆序排列 拆分法:将十进制的整数拆分为若干个二进制权重的和,有该权重则在下面写1,否则写0即可 列如:15 15可拆分为:8+4+2+1,则15的二进制等于:1111 2.正二进制转换为十进制 权加法:让二进制的每个数字乘以当前位的权重再相加即可 3.负十进制转换为二进制的方法 将其绝对值转换为二进制,然后再按位取反加一 列如:-20 -20的绝对值转换为二进制:00010100 按位取反:11101011 按位取反再加一:11101100 4.负二进制转换为十进制方式 先按位取反再加一,然后转换为十进制整数后在其前面添加符号即可 列如:11101100 按位取反:00010011 再加一:00010100 转化为十进制:20 添加符号: -20 总结:在计算中采用二进制序列中的最高位(最左边)代表符号:使用1代表负数,0代表非负数 二进制和八进制之间的转换

深入理解计算机系统cp1:存储单位与编码

我怕爱的太早我们不能终老 提交于 2020-03-01 23:54:58
摘要: 理解计算机是如何存储数据的。 原文: 深入理解计算机系统cp1:存储单位与编码 作者: Chor Fundebug 经授权转载,版权归原作者所有。 1. 存储单位 位:即 bit,表示二进制位,要么是 0 ,要么是 1。它是计算机内部数据存储的最小单位。比如 11010100 共有8个二进制位,是一个8位二进制数。 字节:即 byte,它由8个二进制位构成,即 1byte=8bit,是计算机内部计量的基本单位。一个英文字符占1个字节(8位),一个汉字占2个字节(16位) 字:即word,它由若干个字节构成,是计算机内部进行数据处理和运算的基本单位。字的总的位数称为字长,不同档次的计算机字长是不一样的,比如32位机,它的1个字由4个字节构成,字长为32位,也就是说其CPU一次操作处理的实际位数是32位。同理,64位机可以处理64位。由此可见,计算机的字长越大,其性能越优越。 KB,MB:1024byte = 1KB,1024KB = 1MB。往上还有GB,TB。 PS:数据传输大多以 bit 为单位,比如我们常说的网速100M/s,M/s其实Mbit/s,也就是兆比特每秒,我们还可以写成100Mbps。 2. 编码 2.1 为什么需要编码? 计算机只能理解0和1,无法理解英文、字母、汉字和其他特殊字符,这些字符需要经过编码才能成为计算机可以理解的二进制数。

python中二进制,八进制,十进制,十六进制

末鹿安然 提交于 2020-03-01 23:54:13
一、二进制,八进制,十进制,十六进制的表示方法   在python的idle中输入的不同进制的字符,直接直接转化为十进制 >>> 0b10 # 以0b开头表示的是二进制 2 >>> 0o10 # 以0o开头表示的是八进制 8 >>> 0x10 # 以0x开头表示的是十六进制 16 >>> 10 # 正常输入表示的是十进制 10 二、将其他进制的字符转换为二进制,使用函数bin() >>> bin(10) # 十进制转换为二进制 '0b1010' >>> bin(0b11) # 二进制转化为二进制 '0b11' >>> bin(0o23) # 八进制转换为二进制 '0b10011' >>> bin(0x2a) # 十六进制转换为二进制 '0b101010' 三、相同的转为八进制使用oct()函数,转为十六进制使用hex()函数 四、获取ascII码使用ord()函数 >>> ord('a') 97 >>> ord('&') 38 来源: https://www.cnblogs.com/jinian1002/p/9583410.html

mysql主从复制(一主一从)

百般思念 提交于 2020-03-01 21:11:03
概念         MySQL之间数据复制的基础是二进制日志文件(binary log file)。一台MySQL数据库一旦启用二进制日志后,其作为master,它的数据库中所有操作都会以“事件”的方式记录在二进制日志中,其他数据库作为slave通过一个I/O线程与主服务器保持通信,并监控master的二进制日志文件的变化,如果发现master二进制日志文件发生变化,则会把变化复制到自己的中继日志中,然后slave的一个SQL线程会把相关的“事件”执行到自己的数据库中,以此实现从数据库和主数据库的一致性,也就实现了主从复制。 安装mysql(一主一从)   192.168.138.187  主机   192.168.138.188  丛机   步骤一:检查虚拟机中是否有mysql环境,并将其卸载,命令如下 rpm -qa | grep -i mysql          如果有使用【rpm -e --nodeps MySQL-client-5.5.44-1.linux2.6.x86_64】命令将其删除;      使用【find / -name mysql】命令查看是否有相关的mysql文件夹            有的话,使用【rm -rf 文件名】删除相关文件或文件夹          步骤二:在【/usr/local】目录下使用命令【mkdir mysql