与运算

HTTP Get与Post请求

假装没事ソ 提交于 2020-02-24 05:08:12
HTTP定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。 1.根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。 (1).所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。 * 注意:这里安全的含义仅仅是指是非修改信息。 (2).幂等的意味着对同一URL的多个请求应该返回同样的结果。这里我再解释一下幂等这个概念: 幂等(idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。 幂等有一下几种定义: 对于单目运算,如果一个运算对于在范围内的所有的一个数多次进行该运算所得的结果和进行一次该运算所得的结果是一样的,那么我们就称该运算是幂等的。比如绝对值运算就是一个例子,在实数集中,有abs(a)=abs(abs(a))。 对于双目运算,则要求当参与运算的两个值是等值的情况下

位运算

时光总嘲笑我的痴心妄想 提交于 2020-02-21 22:23:12
文章目录 一、进制表示 1、进制 2、进制的表现形式 3、原码、反码和补码 二、位运算 1、&——与运算(and) (1)运算规则 (2)应用 2、|——或运算(or) (1)运算规则 (2)应用 3、^——异或运算 (xor) (1)运算规则 (2)应用 4、~——非运算(not) (1)运算规则 三、移位运算 1、<<——左移运算 2、>>——右移运算 3、>>>——无符号右移运算(没有无符号左移运算) 四、位运算应用 1、判断奇偶数(与运算) 2、交换两个数(异或) 3、求 m 的 n 次方 4、找出不大于 N 的最大的 2 的幂指数 一、进制表示 1、进制 进制是一种记数方式 ,可以用有限的数字符号代表所有的数值。由特定的数值组成。 2、进制的表现形式 二进制: 由 0 和 1 两个数字组成,都是以 0b 开始; 八进制: 由 0~7 数字组成,为了区分于其他进制的数字,都是以 0 开始; 十进制: 都是以 0~9 这九个数字组成,不能以 0 开头; 十六进制:由 0 ~ 9 和 A~ F 组成,为了区分于其他进制的数字,都是以 0x 或 0X 开始。 3、原码、反码和补码 原码——即为计算机中对数值的二进制表示 。如,十进制的 5 用二进制表示为 0000 0101 ;(最高位为符号位,1 表示负,0 表示正,并且在原、反、补的转换中,符号位不变) 反码 ——即取反

浅谈HTTP中Get与Post的区别

拥有回忆 提交于 2020-02-15 05:29:13
浅谈HTTP中Get与Post的区别 2009-03-31 14:51 by hyddd, 880444 阅读, 118 评论, 收藏 , 编辑   Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。    1 .根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。   (1).所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。   * 注意:这里安全的含义仅仅是指是非修改信息。   (2).幂等的意味着对同一URL的多个请求应该返回同样的结果。这里我再解释一下 幂等 这个概念:    幂等 (idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。   幂等有一下几种定义:   对于单目运算

Python基础——数据类型与基本运算【主要为除法】

蓝咒 提交于 2020-02-09 15:25:26
   Python版本:3.6.2 操作系统:Windows 作者:SmallWZQ   无论是Python 3.x版本还是2.x版本,Python均支持多种数据类型,能够直接处理的数据类型包括Int类型、Float类型、String类型、布尔值、变量、常量……   在计算机内部,Python可以把任何数据都看成一个“对象”,而变量就是在程序中用来指向这些数据对象的,对变量赋值就是把数据和变量给关联起来。 Int整数类型   令人惊喜的是,Python可以处理任意位数的整数,同时包括负整数。因此,Python处理整数非常方便,几乎与数学表示整数的方式一模一样。   Python也同时支持十六进制和八进制。十六进制数表示形式如下: 1 #十六进制表示形式 2 >>>0xAD 3 173 4 >>>0xad 5 173 6 >>>0XAD 7 173   对于八进制,Python 3.x版本必须以“0o”前缀(数字0 + 字母o),八进制表示形式如下: 1 #八进制表示形式 2 >>>0o20 3 16 4 #字母o大写也编译通过,最好小写,避免造成歧义 5 >>>0O20 6 16   注:计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便, 十六进制用 0x 前缀和0-9,a-f表示,例如: 0xff00 , 0xa5b4c3d2 等等。 Float浮点型   我们都知道

数据类型与运算符

早过忘川 提交于 2020-02-09 03:32:16
JavaSE Day03 数据类型与运算符 数据类型 引入数据类型的意义:由于在java中变量的数据随时改变,所以引入数据类型主要有两个目的。 目的一:为了限制当前变量当中所存储的数据,变量当中的数据必须是可兼容的。 目的二:为了限制当前变量在内存中的空间大小。 数据类型的分类 1. 基本数据类型 基本数据类型主要有 整数 浮点数 字符型 布尔型 整数 整数的数据类型有 byte short int long 分成四类整型的原因是主要看取值范围 比如年龄 0~100 byte的数据类型就比较合适,因为1byte=8bit 2 8 2^8 2 8 =256 共256种。 byte byte类型的数据占内存为1字节 范围:-128 ~ 127( − 2 7 -2^7 − 2 7 ~ 2 7 − 1 2^7-1 2 7 − 1 ) 2 8 2^8 2 8 共256种数据可用。 short short类型的数据占内存为2字节 范围: -32768~32767 ( − 2 15 -2^{15} − 2 1 5 ~ 2 15 − 1 2^{15}-1 2 1 5 − 1 ) int int类型的数据占内存为4字节。 范围:( − 2 31 -2^{31} − 2 3 1 ~ 2 31 − 1 2^{31}-1 2 3 1 − 1 ) 整数常量默认是int类型。 long

位运算(按位与、按或与、异或)

我们两清 提交于 2020-02-03 00:07:05
位运算使用二进制补码进行运算。 按位与运算符(&) 参加运算的两个数,按二进制位进行“与”运算。 运算规则:只有两个数的二进制同时为1,结果才为1,否则为0。 即 0 & 0= 0 ,0 & 1= 0,1 & 0= 0, 1 & 1= 1。 例:3 &5 即 00000011 & 00000101 = 00000001 ,所以 3 & 5的值为1。 按位或运算符(|) 参加运算的两个数,按二进制位进行“或”运算。 运算规则:参加运算的两个数只要两个数中的一个为1,结果就为1。 即 0 | 0= 0 , 1 | 0= 1 , 0 | 1= 1 , 1 | 1= 1 。 例:2 | 4 即 00000010 | 00000100 = 00000110 ,所以2 | 4的值为 6 。 异或运算符(^) 参加运算的两个数,按二进制位进行“异或”运算。 运算规则:参加运算的两个数,如果两个相应位为“异”(值不同),则该位结果为1,否则为0。 即 0 ^ 0=0 , 0 ^ 1= 1 , 1 ^ 0= 1 , 1 ^ 1= 0 。 例: 2 ^ 4 即 00000010 ^ 00000100 =00000110 ,所以 2 ^ 4 的值为6 。 来源: https://www.cnblogs.com/Cnxz/p/12254278.html

C#位运算讲解与示例

匆匆过客 提交于 2020-01-31 09:18:23
今天在项目中遇到按位或组合权限串的问题: 首先每一个权限数都是2的N次方数 如:k1=2 ; //添加 k2=4 ; //删除 k3=8; //修改 ... 如此定义功能权限数,当需要组合权限时,就需要对各个所拥有的权限数按位或了。 如: purview = k2|k3; // 赋给添加和删除权限 当需要判断在权限串中是否拥有某一权限时,就需要进行按位与。 如: if((purview & k1) >0)//判断此权限串是否拥有添加权限,结果>0 则进入if语句代码块中 { .... } 如去掉 删除权限: purview=purview&(uint.MaxValue - (uint)k2) 说到这里肯定会有疑问了,别急我来细细讲解。 第一,2的8位二进制值为00000010 4的8位二进制值为00000100 8的8位二进制值为00001000 第二,当对8和4进行按位或操作后,结果为: 4|8 = 12 00000100 |00001000 = 00001100 为什么会是这样呢?在进行按位或操作时 00000001|00000001=00000001 ;00000001|00000000=1 ;00000000|00000000=00000000 也就是说除了0|0结果是0外,其它运算结果的都是1 所以 00000100 |00001000 = 00001100 也就说上面的

C#位运算讲解与示例

不羁岁月 提交于 2020-01-31 08:28:15
文章转载自http://www.cnblogs.com/zgqys1980/archive/2010/05/31/1748404.html 今天在项目中遇到按位或组合权限串的问题: 首先每一个权限数都是2的N次方数 如:k1=2 ; //添加 k2=4 ; //删除 k3=8; //修改 ... 如此定义功能权限数,当需要组合权限时,就需要对各个所拥有的权限数按位或了。 如: purview = k2|k3; // 赋给添加和删除权限 当需要判断在权限串中是否拥有某一权限时,就需要进行按位与。 如: if((purview & k1) >0)//判断此权限串是否拥有添加权限,结果>0 则进入if语句代码块中 { .... } 说到这里肯定会有疑问了,别急我来细细讲解。 第一,2的8位二进制值为00000010 4的8位二进制值为00000100 8的8位二进制值为00001000 第二,当对8和4进行按位或操作后,结果为: 4|8 = 12 00000100 |00001000 = 00001100 为什么会是这样呢?在进行按位或操作时 00000001|00000001=00000001 ;00000001|00000000=1 ;00000000|00000000=00000000 也就是说除了0|0结果是0外,其它运算结果的都是1 所以 00000100 |00001000

C#位运算讲解与示例

社会主义新天地 提交于 2020-01-31 07:51:21
今天在项目中遇到按位或组合权限串的问题: 首先每一个权限数都是2的N次方数 如:k1=2 ; //添加 k2=4 ; //删除 k3=8; //修改 ... 如此定义功能权限数,当需要组合权限时,就需要对各个所拥有的权限数按位或了。 如: purview = k2|k3; // 赋给添加和删除权限 当需要判断在权限串中是否拥有某一权限时,就需要进行按位与。 如: if((purview & k1) >0)//判断此权限串是否拥有添加权限,结果>0 则进入if语句代码块中 { .... } 说到这里肯定会有疑问了,别急我来细细讲解。 第一,2的8位二进制值为00000010 4的8位二进制值为00000100 8的8位二进制值为00001000 第二,当对8和4进行按位或操作后,结果为: 4|8 = 12 00000100 |00001000 = 00001100 为什么会是这样呢?在进行按位或操作时 00000001|00000001=00000001 ;00000001|00000000=1 ;00000000|00000000=00000000 也就是说除了0|0结果是0外,其它运算结果的都是1 所以 00000100 |00001000 = 00001100 也就说上面的 purview = k2|k3 的二进制值结果是 purview =00000100 |00001000

C#位运算讲解与示例

陌路散爱 提交于 2020-01-31 07:19:36
首先每一个权限数都是2的N次方数 如:k1=2 ; //添加 k2=4 ; //删除 k3=8; //修改 ... 如此定义功能权限数,当需要组合权限时,就需要对各个所拥有的权限数按位或了。 如: purview = k2|k3; // 赋给添加和删除权限 当需要判断在权限串中是否拥有某一权限时,就需要进行按位与。 如: if((purview & k1) >0)//判断此权限串是否拥有添加权限,结果>0 则进入if语句代码块中 { .... } 说到这里肯定会有疑问了,别急我来细细讲解。 第一,2的8位二进制值为00000010 4的8位二进制值为00000100 8的8位二进制值为00001000 第二,当对8和4进行按位或操作后,结果为: 4|8 = 12 00000100 |00001000 = 00001100 为什么会是这样呢?在进行按位或操作时 00000001|00000001=00000001 ;00000001|00000000=1 ;00000000|00000000=00000000 也就是说除了0|0结果是0外,其它运算结果的都是1 所以 00000100 |00001000 = 00001100 也就说上面的 purview = k2|k3 的二进制值结果是 purview =00000100 |00001000 =00001100了 第三