当前位置: 首页 > news >正文

企业形象网站解决方案荥阳网站建设荥阳

企业形象网站解决方案,荥阳网站建设荥阳,重庆市工程建设信息网中项网,wordpress 图片地址 数据库本篇文章#xff0c;我们将展开讲解C语言中的各种常用操作符#xff0c;帮助大家更容易的解决一些运算类问题。 这里提醒一下小伙伴们#xff0c;本章知识会大量涉及到二进制序列#xff0c;不清楚二进制序列的小伙伴#xff0c;可以去阅读我的另一篇文章《数据在内存中的…本篇文章我们将展开讲解C语言中的各种常用操作符帮助大家更容易的解决一些运算类问题。 这里提醒一下小伙伴们本章知识会大量涉及到二进制序列不清楚二进制序列的小伙伴可以去阅读我的另一篇文章《数据在内存中的存储》学习了解。 目录 一.操作符分类 二.操作符讲解 1.算数操作符 2.移位操作符 1左移操作符  2右移操作符 3.位操作符 1 按位与 2| 按位或 3^ 按位异或 4.赋值操作符 5.单目操作符 总结 一.操作符分类 算术操作符移位操作符位操作符赋值操作符单目操作符关系操作符逻辑操作符条件操作符逗号表达式下标引用函数调用和结构成员 二.操作符讲解 由于操作符数量过多所以本期文章我们将仅仅讲解前五种。 1.算数操作符 算数操作符包括 “-*/%” 五个。较为简单小伙伴们只需要注意以下几点 除了“%”操作符之外其他的几个操作符可以作用于整数和浮点数。对于“/”操作符如果两个操作数都为整数执行整数除法。只要有浮点数就执行浮点数除法。“%”操作符的两个操作数必须为整数返回的是整除后的余数。 2.移位操作符 左移操作符         右移操作符 移位操作符的左边是要操作的数右边则是要移动的位数。 要注意的是移位操作符的操作数只能是整数移动的对象则是整数的二进制序列。 一个整型占四个字节也就是32个bit位要记住整型在数据中存储的是二进制序列的补码所以我们对整型的操作都是对其补码进行操作的。 1左移操作符  左移操作符顾名思义就是将整数的二进制序列向左边移动呗那么它的规则是什么呢 移位规则 左边丢弃右边补0 #includestdio.h int main() {int n 6;//00000000 00000000 00000000 00000110-移动前//00000000 00000000 00000000 00001100-移动后int m n 1;printf(%d\n, n);printf(%d\n, m);return 0; } 如上代码将“6”的二进制序列向左移动一位便得到了一个新的二进制序列。结果如下 由结果可以看出移位操作符并不会改变操作数本身而且细心的小伙伴们可以看出向左移动一位不就相当于每一位的数字都“乘2”嘛也就是将数字翻倍移动n位便翻2的n次方倍。 负数的操作与之一样就是小伙伴们千万不要忘记原码和补码之间的转换。 2右移操作符 移位规则 右移运算分为两种 1.逻辑移位 左边用0填充右边丢弃 2.算术移位 左边用原值的符号位填充右边丢弃 不同的编译器会有不同的右移运算但是我们平时所使用的绝大多数编译器都是算数右移。 #includestdio.h int main() {int n -15;//10000000 00000000 00000000 00001111-原码//11111111 11111111 11111111 11110000-反码//11111111 11111111 11111111 11110001-补码//11111111 11111111 11111111 11111000-移动后补码//11111111 11111111 11111111 11110111-移动后反码//10000000 00000000 00000000 00001000-移动后原码int m n 1;printf(%d\n, n);printf(%d\n, m);return 0; } 结果如下  同左移类似右移则是将数字折半但是如果是奇数的话结果则会是比小数小的最临近于小数的负数。比如-15的右移结果就是-8。 3.位操作符 按位与 |         按位或 ^        按位异或 位操作符的操作数也必须是整数也是对其二进制序列动手。 1 按位与 假如我是一个企业高管我现在需要程序员A与程序员B一起来完成某个项目这说明A和B是必不可少的他们两个少了谁这个项目都完不成。这便是按位与。 口诀同真则真有假则假 #includestdio.h int main() {int a 6;//00000000 00000000 00000000 00000110-补码int n -15;//11111111 11111111 11111111 11110001-补码int m a n;//00000000 00000000 00000000 00000110-补码//11111111 11111111 11111111 11110001-补码//00000000 00000000 00000000 00000000-m的补码重点printf(%d\n, m);return 0; } 我们习惯上将二进制序列的“1”视为真“0”视为假an便是两个二进制序列对应的每一位相与从而得到一个新的二进制序列。 由上可知m的二进制序列全为0也就代表m的值为0结果如下 2| 按位或 假如我又是一个企业高管我现在需要程序员A或程序员B来完成某个项目这说明A和B他们两个只要有一个能来做这个项目就能成如果一个都没有就做不了。这便是按位或。 口诀同假则假有真则真 #includestdio.h int main() {int a 6;//00000000 00000000 00000000 00000110-补码int n -15;//11111111 11111111 11111111 11110001-补码int m a | n;//00000000 00000000 00000000 00000110-补码//11111111 11111111 11111111 11110001-补码//11111111 11111111 11111111 11110111-m的补码要点//11111111 11111111 11111111 11110110-m的反码//10000000 00000000 00000000 00001001-m的原码printf(%d\n, m);return 0; } 对两个二进制序列的每一位相或便得到m的补码但是m的符号位为1是负数所以要转化为原码来读。 结果如下 3^ 按位异或 假如我还是一个企业高管……这个不好举例子了哈哈哈直接来看口诀 相同为0不同为1 #includestdio.h int main() {int a 6;//00000000 00000000 00000000 00000110-补码int n -15;//11111111 11111111 11111111 11110001-补码int m a ^ n;//00000000 00000000 00000000 00000110-补码//11111111 11111111 11111111 11110001-补码//11111111 11111111 11111111 11110111-m的补码重点//11111111 11111111 11111111 11110110-m的反码//10000000 00000000 00000000 00001001-m的原码printf(%d\n, m);return 0; } 将两个二进制序列的每一位相异或结果如下 4.赋值操作符 所谓赋值操作符也就是我们经常使用的“ ”将一个常量或者常量表达式赋给一个变量。 int a 1;//不是赋值是创建之后的初始化 a 5;//是赋值 int b 2; int c 0; c a b;//也是赋值 除了等号以外还有一些常用的复合赋值操作符 -        *        /        %                                |        ^ 这些符合赋值其实是两个运算式的合并例如 int a 2; a a 5 和 a 5 是一样的效果后者看起来会更加的简洁 5.单目操作符 所谓单目也就是这种操作符的操作数只有一个。 逻辑反操作-                   负值                  正值                  取地址sizeof           操作数的类型长度以字节为单位~                  对一个数的二进制按位取反--                  前置后置--                前置后置*                   间接访问操作符解引用操作符(类型)           强制类型转换 这些操作符我们大多数都知道下面我们仅仅讲解一下不是那么熟悉的 sizeof        操作数的类型长度 sizeof 计算的结果是 size_t 类型 size_t 是无符号整型 对 size_t 类型的数据进行打印可以使用%zd或%u int a 10; printf(%zd,sizeof(a)); 结果为4。  ~                  对一个数的二进制按位取反 int a 0; printf(%d,~a); 0的补码二进制序列为 00000000 00000000 00000000 00000000 111111111 111111111 111111111 111111111//为负数取原码 111111111 111111111 111111111 111111110//反码 10000000 00000000 00000000 00000001//原码 结果为-1。 *        间接访问操作符 int a 10; int* p a; *p;//这时候我们的*就是对p进行解引用操作*p是通过p中存放的地址找到p指向的对象。 *p 其实就是a。 (类型)           强制类型转换 int a (int )3.14; 3.14在编译器中会被默认为是double类型如果直接将其初始化给int型的a则会在后续操作中出现误差甚至错误所以要将其强制类型转化为int型。 总结 本期关于操作符的知识讲解到这里就要结束啦稍后博主将更新C语言基础之——操作符下来讲解剩余的操作符。 喜欢博主文章的小伙伴们不要忘记一键三连哦我们下期再见
http://www.dnsts.com.cn/news/54089.html

相关文章:

  • 网站建设 站内搜索wordpress萌
  • 自己服务器建网站个人网站建设方案书实例
  • 陕西省住房和城乡建设厅执业资格注册中心网站公司网站制作的教程
  • 英语作文网站大连做网站首选领超科技
  • 哪些网站做外贸效果好网站开发外包
  • 网站证书怎么做网站建设费用一年
  • 高端装饰公司网站设计广州网站提升排名
  • 深圳专门网站制作汽车保养网站模板
  • 网站制作的总结与体会网站怎么做统计
  • 滨海做网站哪家好小公司做网站还是微博
  • 长沙网站建设流程企业级建站
  • 网站规划建设与安全管理官网seo优化找哪家做
  • 哈尔滨快速制作网站长春科技网站建设
  • 营销型网站制作培训商品分类标准
  • 天津怎样做网站推广如何建立一家公司
  • 河北网站建设搭建网站建设图总结
  • wx网站开发西宁那有做网站的
  • 怎么做pdf电子书下载网站php网站开发技术是什么
  • 泰国做彩票网站企业网站首页布局尺寸
  • 百度推广需要自己有网站吗中小微企业查询官网
  • 阿里云配置网站做网站怎么样
  • 简易博客网站模板下载WordPress模板注释
  • 招聘网站的简历可以做几份微信上如何投放广告
  • 怎么建设游戏平台网站做网站如何连数据库
  • 制作专业网站商城开发企业
  • 自学php制作网站有哪些软件html网页模板素材下载
  • 色无极网站正在建设中荆门做网站的公司
  • 社交网站 cms国外服务器ip大全
  • 官网网站建设需求文档石河子农八师建设兵团社保网站
  • 企业如何注册自己的网站安徽省