操作数

Python数值类型中需要注意的一些细节汇总

南笙酒味 提交于 2019-11-26 22:33:35
一:Python表达式运算符的优先级如下图: 如果程序中有括号,那么就要先考虑括号,在括号运算的基础之上再去考虑优先级。 混合类型向上转换: 整数与浮点数进行混合运算,例如你把恶一个整数和一个浮点数相加:40 + 3.14  请问相加的结果是什么呢?是整数类型还是浮点数类型呢? 答案其实很简单, 在混合类型的表达式中,Python首先将被操作的对象 转换成其中最复杂的操作数的类型,然后再对相同的操作数进行数学运算。 Python中划分数值类型复杂度是这样的:整数比浮点数简单,浮点数比复数简单,故而上述例子中,一个整数40与浮点数3.14运算时,整数首先升级为浮点数, 之后进行浮点数的运算得到结果: 40 + 3.14 43.14 二:变量与基础表达式: 1-变量在第一次赋值时被创建。 2-变量在表达式中使用时,会被替换成它们的值。 3-变量使用之前必须要被赋值,不赋值不执行。 三:浮点数的比较 1 >>> 1.1 + 2.2 == 3.3 2 False 3 >>> 1.1 + 2.2 3.0000000003 4 >>> int(1.2 + 2.2) == int(3.3) 5 True View Code 浮点数因为有限的比特位数,而不能精确地表示某些值得事实,所以在浮点数的比较中,我们需要强制转化一下,确定精度比较。 四:除法 X/Y -真除法 X//Y-向下取整除法

基础位运算基本原理和应用

十年热恋 提交于 2019-11-26 21:08:16
微信公众号 位运算是编程语言的基础,在看源码的时候会看到很多位运算代码,但是在项目代码中很少会看到位运算。因为应用代码中,有很多判断和计算都可以直接用数值的判断和计算完成,没有必要去用位运算,以至于这些基础的东西慢慢用的越来越少,慢慢也就忘了。导致的一个结果就是看源代码很费力,因为大量的位运算逻辑,看不懂。 作为程序员感觉数据位运算是非常必要,有点如下: 看源码时能够更好的理解 位运算更接近计算机的习惯,执行的效率会更高 装逼利器,在项目中使用位运算,体现逼格 N种基本的位运算 位运算 -- 与运算符(&) 运算规则: 操作数1 0 0 1 1 操作数2 0 1 0 1 与运算 0 0 0 1 规则总结:只有两个操作数都是1的时候运算结果才为1,其他都是0。换句话说就是只要包含0就是0。 运算如下: 位运算 -- 或运算符(|) 运算规则: 操作数1 0 0 1 1 操作数2 0 1 0 1 或运算 0 1 1 1 规则总结:只有两个操作数都是0的时候运算结果才为0,其他都是1。换句话说就是只要包含1就是1。 运算如下: 位运算 -- 非运算符(~) 运算规则: 操作数 1 0 或运算 0 1 规则总结:取反操作,1变0,0变1。 位运算 -- 异或运算符(^) 运算规则: 操作数1 0 0 1 1 操作数2 0 1 0 1 或运算 0 1 1 0 规则总结:操作数相同

MySQL连接查询(多表查询)

倖福魔咒の 提交于 2019-11-26 16:39:06
基本含义   连接就是指两个或两个以上的表(数据源) “连接起来成为一个数据源”。   连接语法的基本形式:from 表1 【连接方式】 join 表2 【on 连接条件】;   连接的结果可以当做一个“表”来使用。 1.内连接:   语法:from 表1 【inner】 join 表2 on 表1.字段1=表2.字段2;   含义:找出(过滤)在交叉连接的结果表中的表1的字段1的值等于表2的字段2的值的那些行。 例如:以下是两个相关的表格product_type 和 product   可以使用内连接使其结合成为一张表,这里因为两个表中都使用了protype_id,所以使用t1. t2.来代替表1和表2    select * from product as t1 join `product_type` as t2 on t1.protype_id=t2.protype_id where 1; 结果如下:                 也可以指定只列出其中部分字段:    select t1.pro_id,pro_name,price, t2.protype_name from product as t1 join `product_type` as t2 on t1.protype_id=t2.protype_id where 1;             结果如下:    

MySQL运算符

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-26 16:33:32
运算符概念 算术运算符 加减乘除求余 比较运算符 大于> 小于< 等于= 大于等于>= 小于等于<= 不等于!= IN、 BETWEEN AND、 IS NULL、 GREATEST、 LEAST、 LIKE、 REGEXP 逻辑运算符 TRUE(1) FALSE(0) NOT(!) AND(&&) OR(||) XOR 位操作运算符 操作数按二进制位进行运算,包括与(&)位、或(|)位、非(~)位、异或(^)、左移(<<)、右移(>>) 算术运算符 mysql> create table tmpl4(num int); Query OK, 0 rows affected (0.16 sec) mysql> insert into tmpl4 values(64); Query OK, 1 row affected (0.01 sec) 1.加减运算 mysql> select num,num+10,num-3+5,num+5-3,num+36.5 from tmpl4; +------+--------+---------+---------+----------+ | num | num+10 | num-3+5 | num+5-3 | num+36.5 | +------+--------+---------+---------+----------+ | 64 | 74 |

MySql的运算符

这一生的挚爱 提交于 2019-11-26 16:33:15
数据库中的表结构确立后,表中的数据代表的意义就已经确定。而通过MySQL运算符进行运算,就可以获取到表结构以外的另一种数据。例如,学生表中存在一个birth字段,这个字段表示学生的出生年份。而运用MySQL的算术运算符用当前的年份减学生出生的年份,那么得到的就是这个学生的实际年龄数据。这就是MySQL的运算符,所以熟悉并掌握运算符的应用,对于操作MySQL数据库中的数据是非常有用的。下面就来熟悉一下MySQL支持的4种运算符都具备哪些功能。 算术运算符:执行算术运算,例如:加、减、乘、除等。 比较运算符:包括大于、小于、等于或者不等于,等等。主要用于数值的比较、字符串的匹配等方面。例如:LIKE、IN、BETWEEN AND和IS NULL等都是比较运算符,还包括正则表达式的REGEXP也是比较运算符。 逻辑运算符:包括与、或、非和异或等逻辑运算符。其返回值为布尔型,真值(1或true)和假值(0或false)。 位运算符:包括按位与、按位或、按位取反、按位异或、按位左移和按位右移等位运算符。 位运算必须先将数据转换为二进制 ,然后在二进制格式下进行操作,运算完成后,将二进制的值转换为原来的类型,返回给用户。 算术运算符 算术运算符是MySQL中最常用的一类运算符。MySQL支持的算术运算符包括:加、减、乘、除、求余。 加(+)、减(-)和乘(*)可以同时计算多个操作数。除号(/

Perl学习笔记-7

时间秒杀一切 提交于 2019-11-26 16:07:25
智能匹配操作符 智能匹配操作符是:“ ~~ ” 他会根据两边操作数的数据类型自动判断该用何种方式进行比较或匹配。如果两边的操作数都像数字就按数值来比较大小;如果看起来像字符串,就按字符串方式比较;如果某一端操作数是正则表达式,就当做模式匹配来执行(具有变量绑定 =~ 的功效)。 模式匹配 基本例子 my $flag = 0 ; foreach my $key ( keys %names ) { next unless $key =~ /Fred/ ; $flag = $key ; last ; } print "I found a key matching 'Fred'. It was $flag\n" if $flag ; 使用 ~~ 实现相同功能 print "I found a key matching 'Fred'. It was $flag\n" if %names ~~ /Fred/ ; 智能操作符的实际行为取决于操作数的类型,具体可参考: $ perldoc perlop 查看Smartmatch Operator部分 数组比较 示例 my $equal = 0 ; foreach my $index ( 0 .. $#names1 ) { last uless $names1 [ $index ] eq $names2 [ $index ] ; $equal ++

计算机组成原理 - 一些简单题和设计分析题

此生再无相见时 提交于 2019-11-26 12:34:03
为了前几天的计算机组成原理的复习,从google上搜索的一些烟台大学历年考试试题进行的一些总结,现在分享给需要的朋友。 简答题 1. CPU中包括哪几种寄存器?分别说明其作用。 答:CPU有以下寄存器: (1)指令寄存器(IR):用来保存当前正在执行的一条指令。 (2)程序计数器(PC):用来确定下一条指令的地址。 (3)地址寄存器(AR):用来保存当前CPU所访问的内存单元的地址。 (4)缓冲寄存器(DR):<1>作为CPU和内存、外部设备之间信息传送的中转站。 <2>补偿CPU和内存、外围设备之间在操作速度上的差别。 <3>在单累加器结构的运算器中,缓冲寄存器还可兼作为操作数寄存器。 (5)通用寄存器(AC):当运算器的算术逻辑单元(ALU)执行全部算术和逻辑运算时,为ALU提供一个工作区。 (6)状态条件寄存器:保存由算术指令和逻辑指令运行或测试的结果建立的各种条 件码内容。除此之外,还保存中断和系统工作状态等信息,以便使CPU和系统能及时了解机器运行状态和程序运行状态。 2.根据操作数所在位置,指出其寻址方式(填空)。 (1)、操作数在寄存器中,为____ 寄存器 ____寻址方式。 (2)、操作数地址在寄存器中,为_ 寄存器间接 _寻址方式。 (3)、操作数地址(主存)在指令中,为___ 直接 ___寻址方式。 (4)、操作数在指令中,为__ 立即 ____寻址方式。

计算机组成原理复习题二

时光毁灭记忆、已成空白 提交于 2019-11-26 12:33:28
原文地址: https://wenku.baidu.com/view/935be3d1c1c708a1284a4446 一、选择题 1、在间址周期中,_C_____。 A.所有指令的间址操作都是相同的; B.凡是存储器间接寻址的指令,它们的操作都是相同的; C.对于存储器间接寻址或寄存器间接寻址的指令,它们的操作是不同的; D.以上都不对。 2、将有关数据加以分类、统计、分析,以取得有利用价值的信息,我们称其为_C_____。 A. 数值计算 B. 辅助设计 C. 数据处理 D. 实时控制 3、定点16位字长的字,采用2的补码形式表示时,一个字所能表示的整数范围是____A_。 A.-215 ~ +(215 -1) B.-(215 –1)~ +(215 –1) C.-(215 + 1)~ +215 D.-215 ~ +215 4、根据传送信息的种类不同,系统总线分为___B___。 A. 地址线和数据线 B. 地址线、数据线和控制线 C. 地址线、数据线和响应线 D. 数据线和控制线 5、外存储器与内存储器相比,外存储器__B____。 A.速度快,容量大,成本高 B.速度慢,容量大,成本低 C.速度快,容量小,成本高 D.速度慢,容量大,成本高 一个256K×8的存储器,其地址线和数据线总和为___C___。 注解:256=2的8次方,所以地址线为8,256K*8

运算符与流程控制

南笙酒味 提交于 2019-11-26 09:32:48
【一】运算符——java程序从运算符实现对数据的处理 1.算术运算符 运算结果可能超出数据类型的范围 整数相除结果为整数 除数为零的情况 余数的符号和被除数一致 自增与自减 前缀与后缀的区别 自增和自减隐含着强制类型转换 表达式的数据类型 算术表达式就是用算数运算符连接起来的式子 2.比较运算符(关系运算符) 关系运算的结果是一个布尔值 比较运算符的等于使用两个等号 变量进行比较是比较两个变量的值 字符串的比较 +号连接字符串 直接复制字符串字面量 使用String类的构造方法创建字符串对象,会在堆中分配一块存储空间 如果想比较每个字符是否相等可以使用equals()方法 xx.equals(xxx); String 是一个类,是一种引用类型 3.逻辑运算符 &逻辑与 |逻辑或 ^逻辑非 &&短路与 ||短路或 4.赋值运算符 变量 = 表达式(把表达式的值赋值给左侧的变量,前后数据类型要兼容) 复合赋值隐含着强制类型转换 5.条件运算符 条件 ? 表达式1 : 表达式2 如果条件成立则整个表达式的值就是表达式1的值 如果条件不成立则整个表达式的值就是表达式2的值 6.字符串连接运算符 使用 + 进行字符串的连接 先把基本类型数据转换成字符串再进行连接 转换可以考虑使用空串 ""+ 7.位运算符 7.1. & 按位与 - 两个操作数都是1,结果才是1 7.2. | 按位或

判断是否为数组

徘徊边缘 提交于 2019-11-26 08:50:28
数组对象 js的数组是无类型的:数组元素可以是任意类型,并且同一个数组中的不同元素也可能有不同的类型。数组的元素可以是对象或其他数组,这样就可以创建复杂的数据结构。 通常我们可以用一元运算符typeof来判断js的数据类型,但是对于数组这样一个特殊的对象却只能返回"object" typeof [ 1 , 2 , 3 ] "object" typeof 100 "number" typeof false "boolean" typeof undefined "undefined" typeof NaN "number" typeof function () { } "function" typeof null "object" 判断数组的方法 instanceof instanceof 是一个二元运算符,左边操作数是一个对象,不是的话返回false,右边操作数是一个函数对象或者函数构造器,不是的话返回false。原理是通过判断左操作数的对象的原型链上是否具有右操作数的构造函数的prototype属性。 [ 1 , 2 ] instanceof Array true Array.isArray(arr) 这个ES5新增的一个Array方法,该方法是Array对象的一个静态函数,用来判断一个对象是不是数组。 Array . isArray ([ 1 , 2 ]) true