操作数

sizeof和strlen的用法

若如初见. 提交于 2019-12-04 18:43:44
解析C/C++语言中的sizeof 一、sizeof的概念   sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 二、sizeof的使用方法   1、用于数据类型   sizeof使用形式:sizeof(type)   数据类型必须用括号括住。如sizeof(int)。   2、用于变量   sizeof使用形式:sizeof(var_name)或sizeof var_name   变量名可以不用括号括住。如sizeof (var_name),sizeof var_name等都是正确形式。带括号的用法更普遍,大多数程序员采用这种形式。   注意:sizeof操作符不能用于函数类型,不完全类型或位字段。不完全类型指具有未知存储大小的数据类型,如未知存储大小的数组类型、未知内容的结构或联合类型、void类型等。   如sizeof(max)若此时变量max定义为int max(),sizeof(char_v) 若此时char_v定义为char char_v [MAX]且MAX未知,sizeof(void)都不是正确形式。 三、sizeof的结果    sizeof操作符的结果类型是size_t

sizeof 和strlen的用法

风流意气都作罢 提交于 2019-12-04 18:42:05
sizeof 与 strlen 的用法 http://blog.csdn.net/rsp19801226/article/details/3095157 解析C/C++语言中的sizeof 一、sizeof的概念 sizeof 是 C 语言的一种单目操作符,如 C 语言的其他操作符 ++ 、 -- 等。它并不是函数。 sizeof 操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 二、sizeof的使用方法 1 、用于数据类型 sizeof 使用形式: sizeof ( type )   数据类型必须用括号括住。如 sizeof ( int )。 2 、用于变量 sizeof 使用形式: sizeof ( var_name )或 sizeof var_name   变量名可以不用括号括住。如 sizeof (var_name) , sizeof var_name 等都是正确形式。带括号的用法更普遍,大多数程序员采用这种形式。   注意: sizeof 操作符不能用于函数类型,不完全类型或位字段。不完全类型指具有未知存储大小的数据类型,如未知存储大小的数组类型、未知内容的结构或联合类型、 void 类型等。   如 sizeof(max) 若此时变量 max 定义为 intmax(),sizeof(char_v

sizeof与strlen的用法

﹥>﹥吖頭↗ 提交于 2019-12-04 18:41:50
解析C/C++语言中的sizeof 一、sizeof的概念   sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 二、sizeof的使用方法   1、用于数据类型   sizeof使用形式:sizeof(type)   数据类型必须用括号括住。如sizeof(int)。   2、用于变量   sizeof使用形式:sizeof(var_name)或sizeof var_name   变量名可以不用括号括住。如sizeof (var_name),sizeof var_name等都是正确形式。带括号的用法更普遍,大多数程序员采用这种形式。   注意:sizeof操作符不能用于函数类型,不完全类型或位字段。不完全类型指具有未知存储大小的数据类型,如未知存储大小的数组类型、未知内容的结构或联合类型、void类型等。   如sizeof(max)若此时变量max定义为int max(),sizeof(char_v) 若此时char_v定义为char char_v [MAX]且MAX未知,sizeof(void)都不是正确形式。 三、sizeof的结果    sizeof 操作符的结果类型是 size_t ,它在头文件中

解析sizeof和strlen的区别

我与影子孤独终老i 提交于 2019-12-04 18:41:39
解析C/C++语言中的sizeof 一、sizeof的概念   sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 二、sizeof的使用方法   1、用于数据类型   sizeof使用形式:sizeof(type)   数据类型必须用括号括住。如sizeof(int)。   2、用于变量   sizeof使用形式:sizeof(var_name)或sizeof var_name   变量名可以不用括号括住。如sizeof (var_name),sizeof var_name等都是正确形式。带括号的用法更普遍,大多数程序员采用这种形式。   注意:sizeof操作符不能用于函数类型,不完全类型或位字段。不完全类型指具有未知存储大小的数据类型,如未知存储大小的数组类型、未知内容的结构或联合类型、void类型等。   如sizeof(max)若此时变量max定义为int max(),sizeof(char_v) 若此时char_v定义为char char_v [MAX]且MAX未知,sizeof(void)都不是正确形式。 三、sizeof的结果    sizeof操作符的结果类型是size_t

设计模式——结构型模式之组合模式(七)

血红的双手。 提交于 2019-12-04 14:31:13
组合模式 组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。 这种模式创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。 我们通过下面的实例来演示组合模式的用法。实例演示了一个组织中员工的层次结构。 个人理解: 1、组合模式,就是在一个对象中包含其他对象,这些被包含的对象可能是终点对象(不再包含别的对象),也有可能是非终点对象(其内部还包含其他对象,或叫组对象),我们将对象称为节点,即一个根节点包含许多子节点,这些子节点有的不再包含子节点,而有的仍然包含子节点,以此类推。 2、所谓组合模式,其实说的是对象包含对象的问题,通过组合的方式(在对象内部引用对象)来进行布局,我认为这种组合是区别于继承的,而另一层含义是指树形结构子节点的抽象(将叶子节点与数枝节点抽象为子节点),区别于普通的分别定义叶子节点与数枝节点的方式 介绍 意图: 将对象组合成树形结构以表示"部分-整体"的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 主要解决: 它在我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。

手写bootloader(手写*_*)

╄→尐↘猪︶ㄣ 提交于 2019-12-04 14:01:11
思路 1.关看门狗 2.设置时钟 3.初始化sdram 4.重定位 5.执行main .text 表示代码段 .global _start (global 表示全局标号) 关看门狗 可以调c完成disable_watch_dag 确定看门狗地址0x.... ldr r0 ,=0x... ldr 违汇编指令 mov r1,#0 str r1, [r0] 设置时钟 可以用 c clock_init() CLKDIVN 定义位置board中 ldr r0, =0x4c00001 mov r1, #0x03 0x03 分频系数 //FCLK:HCLK:PCLK=1:2:4, HDIVN=1,PDIVN=1 str r1,[r0] asm 如果是c,它是标志嵌入汇编 读芯片手册,调整异步模式,根据芯片具体情况 mrc 指令将ARM处理器的寄存器中的数据传送到协处理器的寄存器中。如果协处理器不能成功地执行该操作,将产生未定义的指令异常中断 MCR{ } p15, 0, , , {, } 为协处理器将执行的操作的操作码。对于CP15协处理器来说, 永远为0b000,当 不为0b000时,该指令操作结果不可预知 作为元寄存器的ARM寄存器,其值被传< Rd>不能为PC,当其为PC时,指令操作结果不可预知送到得协处理器寄存器中 作为目标寄存器的协处理器寄存器,其编号可能为C0,C1....C15。

11.13

▼魔方 西西 提交于 2019-12-04 10:46:56
考了n天倒数后莫名rk1。 这次考试节奏很好,主要是T1比较顺,然后后面打暴力也就很开心。 A. A 维护静态上下凸包。 B. B 又不会了,期望的独立性。。。 期望操作数=a1+2~n的期望操作数。 然后是神仙的考虑2~n分别和1操作的操作数。 然后就是很普通的数学。 C. C 股股股 来源: https://www.cnblogs.com/hzoi2018-xuefeng/p/11856124.html

51单片机 知识总结

喜你入骨 提交于 2019-12-04 09:32:57
  目前单片机种类繁多,而51 单片机作为最基础的一款8位单片机,其资源最少,同时也是最容易学习的一款单片机。学习51单片机的工作原理及其存储结构是十分有必要的。   单片机执行程序的过程,其实就是在执行我们编写的程序的过程( 逐条执行指令 ),该执行过程可以看成是: 取指令--------分析指令-------执行指令。    取指令:根据 PC(程序计数器)的值从程序存储器中取出指令(编写的程序即为指令),送到指令寄存器。( 送到哪里去??? )   分析指令:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质,分析完成便找出操作数的地址。   执行指令:即对分析完成后得到操作数的地址,对该地址的数据进行更新。   计算机执行程序的过程实际上是逐条指令重复以上三个过程,直到遇到停机或循环等待指令。 举例:   开机后,PC 计数器 初始值为 0000H,接着单片机在时序电路下自动进入执行程序过程,循环对程序区进行取指令,执行指令操作。   对于汇编语句: MOV A , #0E0H 该语句的功能表示将操作数 E0H 送到 累加器 A 上。(74H 表示 的指令是将一个数送到 A 累加器去)此时 程序计数器 0000H 位置上存放了 74H , 0001H 上存放了 E0H 。 执行该语句的次序为: 1、取指阶段:PC 上 地址 0000H 上的内容送到地址寄存器去

指令(1)基本格式

烈酒焚心 提交于 2019-12-04 06:37:05
指令基本格式 指令简单说来就是机器语言的语句。 指令由操作码(OP)和地址码(A)两方面构成。 地址码的作用:   指出操作数的地址   给出结果存放的地址   指出下一条指令的地址   (以上地址可以是主存地址、寄存器地址、I/O地址) 地址码可以是操作数本身、操作数地址或者操作数地址的计算方法。 每一条指令都包含操作码(每一条指令都必须告诉CPU该指令做什么操作)。 地址码 四地址指令 OP A1 A2 A3 A4 OP:操作码;A1、A2:第一操作数和第二操作数;A3:存放运算结果的地址;A4:下一条指令的地址。 执行四地址指令需要访问4次存储器(取指令一次,取操作数两次,存放结果一次) 缺点:占用存储空间 设指令字长为32位,操作码占8位,4个地址字段各占6位,则指令操作数的直接寻址范围为2 6 =64 三地址指令 OP A1 A2 A3 去掉A4: 程序计数器PC既能存放当前欲执行指令的地址,又有计数功能,可自动形成下一条指令的地址码。 OP:操作码;A1、A2:第一操作数和第二操作数的地址;A3:存放运算结果的地址; 执行四地址指令需要访问4次存储器(取指令一次,取操作数两次,存放结果一次) 缺点:占用存储空间 设指令字长为32位,操作码占8位,3个地址字段各占8位,则指令操作数的直接寻址范围为2 8 =256 二地址指令 OP A1 A2

汇编之各个寄存器的作用

陌路散爱 提交于 2019-12-04 06:01:50
原文链接:[ https://www.cnblogs.com/zimmerk/articles/2520011.html ] 4个数据寄存器(EAX、EBX、ECX和EDX) 2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP) 6个段寄存器(ES、CS、SS、DS、FS和GS) 1个指令指针寄存器(EIP) 1个标志寄存器(EFlags) 1、数据寄存器 数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。32位CPU有4个32位的通用寄存器EAX、EBX、ECX和EDX。对低16位数据的存取,不会影响高16位的数据。这些低16位寄存器分别命名为:AX、BX、CX和DX,它和先前的CPU中的寄存器相一致。 4个16位寄存器又可分割成8个独立的8位寄存器(AX:AH-AL、BX:BH-BL、CX:CH-CL、DX:DH-DL),每个寄存器都有自己的名称,可独立存取。程序员可利用数据寄存器的这种”可分可合”的特性,灵活地处理字/字节的信息。 寄存器AX和AL通常称为累加器(Accumulator),用累加器进行的操作可能需要更少时间。累加器可用于乘、 除、输入/输出等操作,它们的使用频率很高; 寄存器BX称为基地址寄存器(Base Register)。它可作为存储器指针来使用; 寄存器CX称为计数寄存器(Count