单目运算符

常见的关系运算符(缩减运算符)

情到浓时终转凉″ 提交于 2019-11-29 10:58:05
写在前面的话 缩减运算符是单目运算符,也有与或非运算。其与或非运算规则类似于位运算符的与或非运算规则,但其运算过程不同。位运算是对操作数的相应位进行与或非运算,操作数是几位数则运算结果也是几位数。而缩减运算则不同,缩减运算是对单个操作数进行与或非递推运算,最后的运算结果是一位的二进制数。缩减运算的具体运算过程是这样的:第一步先将操作数的第一位与第二位进行与或非运算,第二步将运算结果与第三位进行与或非运算,依次类推,直到最后一位。例如: reg[3:0]B; reg C; C=&B; 相当于 C=((B[0]&B[1])&B[2])&B[3]; 工程实例 下面,梦翼师兄给大家编写一个实例,通过仿真波形来验证运算结果是否如我们所说。可综合模块代码如下 /**************************************************** * Engineer : 梦翼师兄 * QQ : 761664056 * The module function: 缩减语句运算模块 *****************************************************/ 01 module reduce ( clk , rst_n , c ); 02 input clk ; // 系统时钟输入 03 input rst_n ; // 系统复位 04 05

c++成员运算符重载和友元运算符重载的比较(以++,--运算符为例)

て烟熏妆下的殇ゞ 提交于 2019-11-28 20:41:14
1、对双目运算符而言,成员运算符重载函数参数列表中含有一个参数,而友元运算符重载函数参数列表含有两个参数;对单目运算符而言,成员运算符重载函数参数列表中没有参数,而友元运算符重载函数参数列表含有一个参数。 2、双目运算符一班可以被重载为友元运算符和成员函数运算符,但是当一个整数与一个复数相加时,必须使用友元函数。 例:友元运算符重载函数实现一个复数与一个整数相加 #include<iostream> using namespace std; class complex { public: complex(int r=0,int i=0); friend complex operator+(complex com,int a)//定义友元运算符重载函数,+左侧是类对象,右侧是函数 { return complex(com.real+a,com.imag); } friend complex operator+(int a,complex com)//定义友元运算符重载函数,+左侧是函数,右侧是类对象 { return complex(a+com.real,com.imag); } void show(); private: int real,imag; }; void complex::show() { cout<<"real="<<real<<" imag="<<imag<

C++基础学习5

有些话、适合烂在心里 提交于 2019-11-28 07:12:18
9类和对象进一步 9.1构造函数 如果一个类中所有的成员都是公用的,则可以在定义对象时对数据成员进行初始化。 但是,如果数据成员是私有的,或者类中有private或protected的成员, 就不能用这种方法初始化。 class Time {public : //声明为公用成员 hour; minute; sec; }; Time t1={14,56,30}; //将t1初始化为14:56:30 构造函数的作用 构造函数的名字必须与类名同名,构造函数没有返回值,因此也不需要在定义构造函数时声明类型, 以便编译系统能识别它并把它作为构造函数处理。 在类内定义构造函数,也可以只在类内对构造函数进行声明而在类外定义构造函数。 构造函数不需用户调用,也不能被用户调用。 带参数的构造函数 构造函数首部的一般格式为构造函数名(类型 1 形参1,类型2 形参2, …) 定义对象的一般格式为 类名 对象名(实参1,实参2, …); #include <iostream> using namespace std; class Box {public : Box(int,int,int);//形参由定义对象时给出 int volume( ); private : int height; int width; int length; }; //声明带参数的构造函数//声明计算体积的函数 Box::Box

C++运算符重载

吃可爱长大的小学妹 提交于 2019-11-28 05:11:02
转载自:https://www.cnblogs.com/liangxiaofeng/p/4311796.html 1.运算符重载定义: C++中预定义的运算符的操作对象只能是基本数据类型。但实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作。这时就必须在C++中重新定义这些运算符,赋予已有运算符新的功能,使它能够用于特定类型执行特定的操作。运算符重载的实质是函数重载,它提供了C++的可扩展性,也是C++最吸引人的特性之一。 运算符重载是通过创建运算符函数实现的, 运算符函数定义了重载的运算符将要进行的操作。运算符函数的定义与其他函数的定义类似,惟一的区别是运算符函数的函数名是由关键字operator和其后要重载的运算符符号构成的。运算符函数定义的一般格式如下: <返回类型说明符> operator <运算符符号>(<参数表>) { <函数体> }  2.运算符重载时要遵循以下规则: (1) 除了类属关系运算符"."、成员指针运算符".*"、作用域运算符"::"、sizeof运算符和三目运算符"?:"以外,C++中的所有运算符都可以重载。 (2) 重载运算符限制在C++语言中已有的运算符范围内的允许重载的运算符之中,不能创建新的运算符。 (3) 运算符重载实质上是函数重载,因此编译程序对运算符重载的选择,遵循函数重载的选择原则。 (4)

javaScript基础--概念以及使用

隐身守侯 提交于 2019-11-28 04:15:00
1、什么javascript? 为什么要学习? 处理网站动态特效 为后期课程打基础 什么是javascript? 是一个 客户端 的具有 安全性 的 脚本 语言。 js和h5 的关系 : 都是向静态的元素动起来 h5+css3 偏向移动端 js偏向 pc端 2、js的历史背景 1995----布莱登.艾奇 liveScript 改名 javascript javascript和java没有任何关系 3、javascript的组成 掌握 ECMAScript 不是语言,是一个组织 欧洲计算机制造商协会 BOM 浏览器对象模型 DOM 文档对象模型 4、js代码的实现 掌握 关闭代码提示 : alt + ? 1、js代码在script中实现 2、script标签可以出现在页面的任何位置 除了title内部 3、script 标签可以有多个 4、使用script标签的src属性连接外部的js文件 5、带有src属性的script标签内部的js代码是无效 5、js的输出语句 掌握 alert() 弹出警告框 阻塞代码执行 不用于项目中 document.write() 浏览器上打印结果 console.log() 控制台上输出 一般用于项目调试 . 前面的叫做对象 . 后面的有括号的单词叫做方法 没有括号的单词叫做属性 6、js的字面量(常量) 数值常量 整数 十进制整数 二进制 0 1

运算符重载

◇◆丶佛笑我妖孽 提交于 2019-11-27 20:28:00
在c++中运算符重载通过两种方式:1.友元函数的方式 2.成员函数的方式 五种运算符不可以重载 点运算符. 域名解析符:: 点星运算符.* 三目运算符:? 求大小运算符sizeof 不能使用成员重载的运算符>> << 不能通过友元的方式重载的运算符 赋值运算符= 括号运算符()下标运算符 [] 箭头运算符-> 双目运算符推荐使用友元 单目运算符 推荐使用成员 友元函数是单项传递的 A是B的友元类 在B中不申明 ,B不是A的友元类 A是B的友元类 B是C的友元类 A不一定是C的友元类 需要在C中申明 友元方法和成员方法的区别是 友元方法不能使用this调用成员变量而成员方法可以调用this 1 #pragma once 2 #include<iostream> 3 using namespace std; 4 class A 5 { 6 int data; 7 static int x; 8 int arr[10]; 9 public: 10 A(int data = 0);//构造函数,可缺省 11 A(const A&other);//调用拷贝构造 12 ~A(); 13 int getData(); 14 void setData(int data); 15 friend int addA(const A&a, const A&b);//在申明的时候使用友元在类外定义 16

【C语言】运算符与表达式-003

百般思念 提交于 2019-11-27 12:37:46
C语言 第三章 运算符与表达式 3.1 常用运算符分类 3.2 算术运算符 3.3 赋值运算符 3.4 比较运算符 3.5 逻辑运算符 3.6 运算符优先级 3.7 类型转换 3.7.1 隐式转换 3.7.2 强制转换 第三章 运算符与表达式 3.1 常用运算符分类 运算符类型 作用 算术运算符 用于处理四则运算 赋值运算符 用于将表达式的值赋给变量 比较运算符 用于表达式的比较,并返回一个真值或假值 逻辑运算符 用于根据表达式的值返回真值或假值 位运算符 用于处理数据的位运算 sizeof运算符 用于求字节数长度 3.2 算术运算符 运算符 术语 示例 结果 + 正号 +3 3 - 负号 -3 -3 + 加 10 + 5 15 - 减 10 - 5 5 * 乘 10 * 5 50 / 除 10 / 5 2 % 取模(取余) 10 % 3 1 ++ 前自增 a=2; b=++a; a=3; b=3; ++ 后自增 a=2; b=a++; a=3; b=2; – 前自减 a=2; b=–a; a=1; b=1; – 后自减 a=2; b=a–; a=1; b=2; 3.3 赋值运算符 运算符 术语 示例 结果 = 赋值 a=2; b=3; a=2; b=3; += 加等于 a=0; a+=2; a=2; -= 减等于 a=5; a-=3; a=2; *= 乘等于 a=2; a*=2;

数字类型和运算符--小结

烈酒焚心 提交于 2019-11-27 03:44:47
数字类型和运算符–小结 1.字符常量 ‘’只能存放的一个字符(转译字符除外); 进制转换(权/位权的概念) X进制→Y进制;X→十→Y 十进制和二进制的快速专函;8421法(记住2的n次方数值直接相加) 二进制和八进制和十六进制之间的快速转换法 分组法(将2进制数分为3/4一组分别得出8进制和16进制) 2.变量 变量的三要素:声明、赋值、使用 3.数据类型 byte/short/int/long; float/double;boolean;char; 最高位为符号位(128/32768/21E/) 基础数据类型和引用数据类型 面试题 为什么float和int字节数一样,表示范围不一样?原因是小数和整数的存储形式不一样。 4.类型转化 溢出,从最小值开始循环 boolean类型不能转化 byte/short/char特例 当byte short char 之间残余运算的时候。底层都会转换成int类型来计算 字符串在参与运算中的转化问题,字符串相加是拼接操作 5.运算符 算数运算符,赋值运算符,关系运算符,逻辑运算符,位运算符(了解),三目运算符 单目运算符,多目运算符:运算符两边的操作; 赋值运算符,交换两个数的值(*使用异或来交换两个数的位置) 逻辑运算符 与 按位与& 短路与&& 或 按位或| 按位异或^(一正一错为正) 短路或||(遇到错即为错且停止) 条件运算符(三目运算符

python字符串

爱⌒轻易说出口 提交于 2019-11-27 03:40:47
字符串 string 字符串操作 字符串的内容几乎可以包含任何字符,英文字符也行,中文字符也行。 字符串既可用单引号括起来,也可用双引号括起来 假如字符串内容中包含了单引号,则可以使用双引号将字符串括起来 语法内涵双引号,用单引号括,内涵单引号,用双引号括,否则语法错误 如果内包含单引号,双引号 使用反斜线 \ 在要转义引号前使用 拼接字符串 长字符串可以使用三引号括起来 字符串紧挨在一起,python会自动拼接,如果使用逗号会变成两个字符串,但是不能真正用于拼接字符串。 + 号来拼接字符串运算符 整数转换字符串:str()是python内置类型 repr()是函数,如果拼接整数跟字符串需要先把整数转换成字符串 str()或repr() repr()另一种功能:输出会以python表达式形式来表示值 交互式模式下python会自动使用repr()函数处理该变量或表达式。 允许使用 \ 来转义长字符串来换行,转义之后不会影响输出 对于个别算法也可以转行 原始字符串 r :由于 \ 在python中特殊的,比如路径python会把看作 \ 来处理,可以在字符串前面加入r,python就不会把反斜线当成特殊字符。 或使用 \ 原始字符串包含的引号,同样需要转义 字符串的内容几乎可以包含任何字符,英文字符也行,中文字符也行。 字符串既可用单引号括起来,也可用双引号括起来

Java运算符

六月ゝ 毕业季﹏ 提交于 2019-11-27 02:45:18
运算符 自增和自减运算符 ++ :操作数值型变量,++ 放操作数左边,操作数自身加 1,返回加 1 后的结果;++ 放操作数右边,操作数自身加 1, 返回加 1 前的结果; -- :操作数值型变量,-- 放操作数左边,操作数自身减 1,返回减 1 后的结果;-- 放操作数右边,操作数自身减 1, 返回减 1 前的结果; int c = 5; int d = ++c; System.out.println(a); //6 System.out.println(d); //6 int a = 5; int b = a++; System.out.println(a); //6 System.out.println(b); //5 位运算符 & :按位与 | :按位或 ~ :按位非(键盘数字 1 左边键) ^ :按位异或 << :左移运算符 >> :右移运算符 >>> :无符号右移运算符 需要记住一点, 位运算操作的是数值在计算机存储的二进制码(补码) System.out.println(5 & 9); //1 System.out.println(5 | 9); //13 System.out.println(~-5); //4 System.out.println(5^9); //12 左移运算符是 将操作数的二进制码整体左移指定位数,左移后右边空出来的位以 0 填充 ,左移 n