关系运算

Shell学习笔记

江枫思渺然 提交于 2019-12-17 09:29:04
█开始行 shell程序必须以下面的行开始(必须方在文件的第一行) #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序 █可执行 当编辑好脚本时,如果要执行该脚本,还必须使其可执行。 要使脚本可执行:chmod +x filename █管道 (|): 将一个命令的输出作为另外一个命令的输入。 █重定向: 将命令的结果输出到文件,而不是标准输出(屏幕)。 > 写入文件并覆盖旧文件 >> 加到文件的尾部,保留旧文件内容 █双引号与单引号 双引号的特殊字符可以保有变量的特性,但是单引号内的特殊字符则仅为一般字符。 #name="$LOGNAME is hh" //root is hh #name='$LOGNAME is hh' //$LOGNAME is hh 通常大写字符为系统预设变量,自行设定的变量可以使用小写字符 █取消变量: 用unset 变量名 █Shell特殊变量 $0 :执行的脚本的文件名 $1 :脚本文件的第一个参数名 $# :传递到脚本的参数个数 $* :以一个单字符串显示所有向脚本传递的参数 $$ :脚本运行的当前进程ID号 $? :显示最后命令的退出状态,0表示没有错误,其它值表示有错误 █常用shell内嵌命令: (1)echo:显示变量内容 (2)env:显示目前系统中主要的预设变量内容 (3)set:显示目前系统中全部的变量内容

Oracle中null问题

与世无争的帅哥 提交于 2019-12-17 03:41:08
1、Oracle中null和空字符串''是一回事。 2、null的判断只能是is null 和is not null 3、null不能和其他类型的数据运算,比如算数运算符+、-、*、/,关系运算符=、<>等等,参与运算的结果依然是null --普通的算术运算和null一起运算,得到的总是null select null+2+3+4+5+6 from dual;--结果为null --解决这一隐患的方法,使用nvl函数转换 select nvl(null,0)+2+3+4+5+6 from dual;--结果为20 4、一些函数会自动过滤掉数值为null的字段,比如聚合函数,sum、avg、max、min等 5、使用 is null 和is not null作为判断条件时,改字段将不会使用到索引; 暂时总结这么多,以后接触到新的坑再总结。 来源: CSDN 作者: 就是个名字 链接: https://blog.csdn.net/zk052300/article/details/103569911

Python基础二

戏子无情 提交于 2019-12-16 13:50:15
一. 格式化输出 现有一练习需求,问用户的姓名、年龄、工作、爱好 ,然后打印成以下格式 ------------ info of 太白金星 ----------- Name : 太白金星 Age : 22 job : Teacher Hobbie: girl ------------- end ----------------- 你怎么实现呢?你会发现,用字符拼接的方式还难实现这种格式的输出,所以一起来学一下新姿势 只需要把要打印的格式先准备好, 由于里面的 一些信息是需要用户输入的,你没办法预设知道,因此可以先放置个占位符,再把字符串里的占位符与外部的变量做个映射关系就好啦 name = input("Name:") age = input("Age:") job = input("Job:") hobbie = input("Hobbie:") info = ''' ------------ info of %s ----------- #这里的每个%s就是一个占位符,本行的代表 后面拓号里的 name Name : %s #代表 name Age : %s #代表 age job : %s #代表 job Hobbie: %s #代表 hobbie ------------- end ----------------- ''' %(name,name,age,job

C#-自定义类型转换与重写运算符,typeof()的使用

时光总嘲笑我的痴心妄想 提交于 2019-12-16 13:47:21
C#自定义类型转换与重写运算符,typeof()的使用 原创 彩色墨水 发布于2019-08-30 11:54:48 阅读数 18 收藏 每天学习一点点,然后做练习巩固下 注意不管是重写运算符还是 自定义类型转换,都必须写在 被操作的类里面,基于这条规定,想把重写运算符写成工具类,是不能够的. 工具类是被抽象出来的类,和想要操作的对象或类不相同. 重写运算符方法或自定义类型转换方法或报错. using System.Collections; using System.Collections.Generic; using UnityEngine; public class TestCustomConv : MonoBehaviour { void Start() { float temp1 = new ABC();//可以隐式转换 int temp2 = (int)new ABC();//可以显式转换 //float temp3 = new DDD();//不具备转换关系 DEF temp4 = (DEF)new ABC();//类之间的显式转换 Debug.Log("temp1:" + temp1);//打印ABC隐士转换成float后的值 Debug.Log("temp2:" + temp2);//打印ABC显示转换成int后的值 Debug.Log("temp4:" +

计算机组成原理复习要点

陌路散爱 提交于 2019-12-16 06:48:39
1. 冯•诺依曼计算机的特点主要有: (1) 计算机由运算器,控制器、存储器和输入/输出设备五大部件构成 ,缺少任何一个部件都无法正常工作 (2) 指令和数据都以同等地位存放在存储器中 ,并可按地址访问。 (3)指令和数据都均以 二进制形式表示 (4) 指令在存储器中按顺序存放 。通常,指令是顺序执行的。在特殊情况下,可根据运算结果或指定的条件改变运算顺序。 (5) 指令由操作码和地址码组成 。操作码表示操作的性质,地址码表示操作数在存储器中的位置 (6) 机器以运算器为中心。 2.计算机系统的层次结构 计算机系统层次结构,指的是计算机系统由 硬件和软件 两大部分所构成,而如果 按功能再细分 ,可分为 7层 。 3.计算机各种性能指标之间的关系 总线的技术指标: 1. 总线的带宽 ( 总线数据传输率 ):总线带宽是指单位时间内总线上传输的数据量 2. 总线位宽:总线能同时传输的二进制位数 ,或数据总线的位数。 3.总线的工作频率:总线工作频率单位以MHz为单位,工作频率越高总线工作速率越快,总线带宽越宽。 4.各种性能指标之间的关系p19 计算机性能的定义: 吞吐率和响应时间 是考量一个计算机系统性能的基本指标。 吞吐率表示在单位时间内所完成的工作量 。在有些场合,吞吐率也可以称为带宽。 响应时间也被称为执行时间或等待时间 ,是指从作业在CPU上执行所用的时间外,还包括磁盘访问时间

CPU

不问归期 提交于 2019-12-12 10:36:07
CPU 1. CPU是什么? 2.CPU 实际做什么? 3.CPU 的内部结构 4.CPU 是寄存器的集合体 5.计算机语言 6.汇编语言 7.程序计数器 8.条件分支和循环机制 9.标志寄存器 10.函数调用机制 11.通过地址和索引实现数组 12.CPU 指令执行过程 13.总结 1. CPU是什么? CPU 的全称是 Central Processing Unit ,它是你的电脑中最硬核的组件,这种说法一点不为过。CPU 是能够让你的计算机叫计算机的核心组件,但是它却不能代表你的电脑,CPU 与计算机的关系就相当于大脑和人的关系。 它 是一种小型的计算机芯片 ,它嵌入在台式机、笔记本电脑或者平板电脑的主板上。通过在单个计算机芯片上放置数十亿个微型晶体管来构建 CPU。 这些晶体管使它能够执行运行存储在系统内存中的程序所需的计算,也就是说 CPU 决定了你电脑的计算能力。 2.CPU 实际做什么? CPU 的核心是从程序或应用程序获取指令并执行计算。 此过程可以分为三个关键阶段: 提取,解码和执行 。 CPU从系统的 RAM 中提取指令,然后解码该指令的实际内容,然后再由 CPU 的相关部分执行该指令。 RAM : 随机存取存储器 (英语:Random Access Memory,缩写:RAM),也叫主存,是与 CPU 直接交换数据的内部存储器。它可以 随时读写 (刷新时除外)

&(与运算)、|(或运算)、^(异或运算)的本质理解

我怕爱的太早我们不能终老 提交于 2019-12-11 23:44:28
按位与运算符(&) 参加运算的两个数据,按二进制位进行“与”运算。 运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0 例如:3&5 即 0000 0011& 0000 0101 = 00000001 因此,3&5的值得1。 另,负数按补码形式参加按位与运算。 “与运算”的特殊用途: (1)清零。如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都为零的数值相与,结果为零。 (2)取一个数中指定位 方法:找一个数,对应X要取的位,该数的对应位为1,其余位为零,此数与X进行“与运算”可以得到X中的指定位。 例:设X=10101110, 取X的低4位,用 X & 0000 1111 = 00001110 即可得到; 还可用来取X的2、4、6位。 按位或运算符(|) 参加运算的两个对象,按二进制位进行“或”运算。 运算规则:0|0=0; 0|1=1; 1|0=1; 1|1=1; 即 :参加运算的两个对象只要有一个为1,其值为1。 例如:3|5 即 00000011 | 0000 0101 = 00000111 因此,3|5的值得7。  另,负数按补码形式参加按位或运算。 “或运算”特殊作用: (1)常用来对一个数据的某些位置1。 方法:找到一个数,对应X要置1的位,该数的对应位为1,其余位为零

程序语言编年史

喜欢而已 提交于 2019-12-11 16:18:48
程序语言编年史 概述 这次咱们聊下程序语言的发展史,除了程序语言,还会着重讲下程序语言密切相关的计算机的发展史,顺带讲下同时期与程序语言和计算机相关领域的发展,为什么要把程序语言和计算机相关领域放到一块讲, 因为这些领域和计算机的关系太密切了, 程序语言是 程序员 和计算机沟通交流唯一方式, 计算机的计算模型的发展, 还有计算机的应用领域的发展都对程序语言有着深刻的影响. 通过计算机相关领域的发展, 我们能从中可以找到一些影响程序语言关键因素, 看看 这些因素是如何推动程序语言一步步发展成今天这个样子的. 计算机发展史 计算机的发展可以分为两条线进行追溯, 一条是计算理论的发展, 一条是计算机实体的发展, 下面我们看看计算理论和计算机的发展轨迹. 理论模型的演变 计算理论是近现代才出现的一个数学分支,主要研究可计算性,计算的复杂度,计算模型(计算理论中两大计算模型:图灵机,lambda演算),形式语言(编程语言也是一种形式语言).我们可以看到计算理论主要研究的对象的名字中有三个带了 计算 ; 计算 这个词很常见,好像和这些词汇所表达的意思挺相近:四则运算,数值计算,逻辑运算.本节就以 计算 为主线介绍下计算是什么,以及其演变历史,还有它和计算理论的关系. 史前数学:数值计算 公元前2500年,在美索不达米亚的一块泥板上记录着谷仓里面有1152000,每个人分7分,可以分给多少人

程序员需要了解的硬核知识之控制硬件

孤街醉人 提交于 2019-12-10 21:45:40
应用和硬件的关系 我们作为程序员一般很少直接操控硬件,我们一般通过 C、Java 等高级语言编写的程序起到间接控制硬件的作用。所以大家很少直接接触到硬件的指令,硬件的控制是由 Windows 操作系统 全权负责的。 你一定猜到我要说什么了,没错,我会说但是,任何事情没有绝对性,环境的不同会造成结果的偏差。虽然程序员没法直接控制硬件,并且 Windows 屏蔽了控制硬件的细节,但是 Windows 却为你开放了 系统调用 功能来实现对硬件的控制。在 Windows 中,系统调用称为 API ,API 就是应用调用的函数,这些函数的实体被存放在 DLL 文件中。 下面我们来看一个通过系统调用来间接控制硬件的实例 假如要在窗口中显示字符串,就可以使用 Windows API 中的 TextOut 函数。TextOut 函数的语法(C 语言)如下 BOOL TextOut{ HDC hdc, // 设备描述表的句柄 int nXStart, // 显示字符串的 x 坐标 int nYStart, // 显示字符串的 y 坐标 LPCTSTR lpString, // 指向字符串的指针 int cbString // 字符串的文字数 } 那么,在处理 TextOut 函数的内容时,Windows 做了些什么呢?从结果来看,Windows 直接控制了作为硬件的显示器。但 Windows

java笔记

荒凉一梦 提交于 2019-12-10 12:04:40
JAVA的数据类型占用内存空间大小是不一样的: 上图中一个方框代表一个字节,也就是8bit。浮点型数e表示以10为底数,并且浮点数结尾需要添加字母f,double类型数据同样是e为底数,不需要增加字母后缀。 在定义常量的时候,需要加上 final 修饰符,变量就被定义成常量了。一般来讲,常量名通常全部大写! 另外一个技巧就是:JAVA允许用var关键字声明变量,这样可以省略变量类型,由编译器决定变量类型。 定义变量时,要遵循作用域最小化原则,尽量将变量定义在尽可能小的作用域,并且,不要重复使用变量名。 需要注意运算溢出: public class Main { public static void main(String[] args) { int x = 2147483640; int y = 15; int sum = x + y; System.out.println(sum); // -2147483641 } } 运算溢出不会报错,通常很难发现,为确保计算可靠性,初学者可以在数据运算过程中选用long等数据类型,保证运算不会出错,如果在严格的内存限制场景,需要提前考虑好合适的数据类型。 移位运算在Java里分为带符号与不带符号,对于带符号的右移 >> 与左移 << 一位相当于分别做乘2与除2操作(除以2取商),并且符号位不动。要特别注意这不是循环移位