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

微信公众号做公司网站中山市城乡建设局网站

微信公众号做公司网站,中山市城乡建设局网站,百度联盟怎么赚钱,dede如何制作网站地图文章目录 1.操作符的分类2.⼆进制和进制转换3.原码、反码、补码4.移位操作符4.1 左移操作符4.2 右移操作符 5.位操作符#xff1a;、|、^、~5.1 #xff1a;按位与5.2 |#xff1a;按位或5.3 ^#xff1a;按位异或5.4 ~#xff1a;按位取反5.5 例题例题1例题2例… 文章目录 1.操作符的分类2.⼆进制和进制转换3.原码、反码、补码4.移位操作符4.1 左移操作符4.2 右移操作符 5.位操作符、|、^、~5.1 按位与5.2 |按位或5.3 ^按位异或5.4 ~按位取反5.5 例题例题1例题2例题3例题4 1.操作符的分类 算术操作符 、- 、* 、/ 、% 移位操作符: , 位操作符: , |, ^ 赋值操作符: 、 、 - 、 * 、 / 、% 、 、 、 、| 、^ 单目操作符 、、--、、*、、-、~ 、sizeof、(类型) 关系操作符: 、 、 、 、 、 ! 逻辑操作符 、|| 条件操作符 ? : 逗号表达式 , 下标引用 [] 函数调用 () 结构成员访问 . 、- 2.⼆进制和进制转换 进制转换的教程网上比比皆是而且视频看起来肯定比文字清晰。这里就不过多赘述了。 我们需要掌握一下几个 2进制转10进制10进制转2进制2进制转8进制和16进制8进制和16进制转2进制8进制转16进制16进制转8进制 3.原码、反码、补码 整数的2进制表示方法有三种 原码 反码 补码 有符号整数的三种表示方法均有符号位和数值位两部分2进制序列中最高位的1位是被当做符号位剩余的都是数值位。 符号位都是用0表示“正”用1表示“负”。 正整数的原、反、补码都相同。 原码直接将数值按照正负数的形式翻译成二进制得到的就是原码。 反码正数反码和原码一样。 补码正数补码和原码一样。 负整数的三种表示方法各不相同。 原码直接将数值按照正负数的形式翻译成二进制得到的就是原码。注意符号位 反码将原码的符号位不变其他位依次按位取反就可以得到反码。 补码反码1就得到补码。 4.移位操作符 只有整数才能运用移位操作符。 4.1 左移操作符 例1 #include stdio.h int main() {int num 10;int n num1;//10补码: 00000000 00000000 00000000 00001010//101补码:0 00000000 00000000 00000000 00010100//这里最前面的0被丢掉了printf(n %d\n, n);printf(num %d\n, num);return 0; }打印 n 20 num 10例2 #include stdio.h int main() {int num -1;int n num1;//-1原码 10000000 00000000 00000000 00000001//-1反码 11111111 11111111 11111111 11111110//-1补码 11111111 11111111 11111111 11111111 //-11补码0 11111111 11111111 11111111 11111110//这里最前面的0被丢掉了printf(n %d\n, n);printf(num %d\n, num);return 0; }打印 n -2 num -14.2 右移操作符 右移运算分两种 逻辑右移左边用0填充右边丢弃。 算术右移左边用原该值的符号位填充正数左边补0负数左边补1右边丢弃。 右移是算术右移还是逻辑右移是取决于编译器的。通常采用的都是算数右移。 例1 #include stdio.h int main() {int num -10;//-10原码10000000 00000000 00000000 00001010//-10反码11111111 11111111 11111111 11110101//-10补码11111111 11111111 11111111 11110110//逻辑右移01111111 11111111 11111111 11111011 |0(这个0被丢弃了)//算术右移11111111 11111111 11111111 11111011 |0(这个0被丢弃了)//这里采用算数右移//右移补码11111111 11111111 11111111 11111011//右移反码10000000 00000000 00000000 00000100//右移原码10000000 00000000 00000000 00000101----5int n num1;printf(n %d\n, n);printf(num %d\n, num);return 0; }打印 n -5 num -105.位操作符、|、^、~ 双目操作符 按位与|按位或^按位异或 单目操作符 ~按位取反 5.1 按位与 有0则0。 #include stdio.h int main() {int a 6;// 6的补码00000000 00000000 00000000 00000110int b -7;//-7的原码10000000 00000000 00000000 00000111//-7的反码11111111 11111111 11111111 11111000//-7的补码11111111 11111111 11111111 11111001int c a b;// 6的补码00000000 00000000 00000000 00000110//-7的补码11111111 11111111 11111111 11111001//a b补码00000000 00000000 00000000 00000000--0printf(n %d\n, c);return 0; }打印 n 05.2 |按位或 有1则1。 #include stdio.h int main() {int a 6;// 6的补码00000000 00000000 00000000 00000110int b -7;//-7的原码10000000 00000000 00000000 00000111//-7的反码11111111 11111111 11111111 11111000//-7的补码11111111 11111111 11111111 11111001int c a | b;// 6的补码00000000 00000000 00000000 00000110//-7的补码11111111 11111111 11111111 11111001//a | b补码11111111 11111111 11111111 11111111//a | b反码10000000 00000000 00000000 00000000//a | b原码10000000 00000000 00000000 00000001---1printf(n %d\n, c);return 0; }打印 n -15.3 ^按位异或 相同为0不同为1。 #include stdio.h int main() {int a 6;// 6的补码00000000 00000000 00000000 00000110int b -7;//-7的原码10000000 00000000 00000000 00000111//-7的反码11111111 11111111 11111111 11111000//-7的补码11111111 11111111 11111111 11111001int c a ^ b;// 6的补码00000000 00000000 00000000 00000110//-7的补码11111111 11111111 11111111 11111001//a ^ b补码11111111 11111111 11111111 11111111//a ^ b反码10000000 00000000 00000000 00000000//a ^ b原码10000000 00000000 00000000 00000001---1printf(n %d\n, c);return 0; }打印 n -15.4 ~按位取反 按2进制位取反 #include stdio.h int main() {int a 0;//0的原码00000000 00000000 00000000 00000000//~a补码 11111111 11111111 11111111 11111111//~a反码 10000000 00000000 00000000 00000000 //~a原码 10000000 00000000 00000000 00000001---1printf(n %d\n, ~a);return 0; }打印 n -15.5 例题 例题1 不创建临时变量第三个变量实现两个整数的交换。 方法1 int main() {int a 3;int b 5;printf(交换前a%d b%d\n, a, b);a a b;b a - b;a a - b;printf(交换后a%d b%d\n, a, b);return 0; }打印 交换前a3 b5 交换后a5 b3上面这个方法有点问题如果ab的和超过了一个整型数据的存储大小那么就计算不了了。 方法2 int main() {int a 3;int b 5;printf(交换前a%d b%d\n, a, b);a a ^ b;b a ^ b;a a ^ b;printf(交换后a%d b%d\n, a, b);return 0; }打印 交换前a3 b5 交换后a5 b3为什么呢 因为异或操作符相同两个数异或为0。 3^30 a^a0 0异或任何数都为数的本身 。 0^33 0^aa 异或是支持交换率的。 例题2 编写代码实现求一个整数存储在内存中的二进制中1的个数。 int count_bit_onr(unsigned int n) {int count 0;while (n) {if ((n % 2) 1) {count;}n n / 2;}return count; }int main() {int num 0;scanf(%d, num);int ret count_bit_onr(num);printf(%d\n, ret);return 0; }输入 15打印 4也可以这么写 int count_bit_onr(int n) {int i 0;int count 0;for (i 0; i 32; i) {if ((n 1) 1 1) {count;}}return count; }int main() {int num 0;scanf(%d, num);int ret count_bit_onr(num);printf(%d\n, ret);return 0; }输入-1会打印32 这个算法的原理 -1补码11111111 11111111 11111111 11111111 1补码 00000000 00000000 00000000 00000001 -11 00000000 00000000 00000000 00000001不论-1的补码前面多少个1只要和1按位与后就只看最后一位是不是1。 然后运用移位操作符将每一位都和1按位与统计出一共多少个1。 其实还有更加巧妙地算法 nn(n-1) 例如n11 n 1011 n-1 1010 n(n-1) 1010因为nn(n-1)所以现在新的n是1010 n 1010 n-1 1001 n(n-1) 1000因为nn(n-1)所以现在新的n是1000 n 1000 n-1 0111 n(n-1) 0000从这三次变化里面我们可以看到我们执行了一次nn(n-1)那么n最右面那个1就会消失。把所有的1都去掉后就变成0了。 例题3 写一个代码判断n是否为2的次方数。 首先我们先看看2的次方数 000010 000100 001000 010000 100000可以看出2的次方数里面只有1个1。 if (n (n - 1) 0) {printf(yes) }例题4 编写代码将13二进制序列的第五位修改为1然后改回0。 第5位改成1第5位就和1或|其他位都是0。 第5位改为0第5位就和0与其他位都是1。 int main() {int a 13;//13原码00000000 00000000 00000000 00001101//13补码00000000 00000000 00000000 00001101//16补码00000000 00000000 00000000 00010000//16|1300000000 00000000 00000000 00011101--29int n 5;a a | (1 (n - 1));printf(%d\n, a);a ~(a (n - 1));printf(%d\n, a);return 0; }打印 29 13
http://www.hkea.cn/news/14372398/

相关文章:

  • 深圳免费网站设计个人网站设计内容和要求
  • 杭州做网站哪家便宜京东网站建设缺点
  • 最容易被收录的网站飞沐视觉北京网站建设公司
  • 玄武模板网站制作品牌一个品牌的策划方案
  • 微网站建设包括哪些免费域名如何建站
  • 手表网站代码网站的建设主机费用
  • 网站建设的风险欧米茄表价格官网报价
  • 微信定制开发 网站开发开发软件公司全部抓进去了
  • 旺旺号查询网站怎么做西宁seo快速排名
  • 郑州做网站设计南城区网站仿做
  • 网站定制论坛百度托管运营哪家好
  • 长沙企业网站制作哪家好男生学什么技术最挣钱
  • 重庆忠县网站建设公司黑马培训是正规学校吗
  • 无锡 网站建设公司制作网页第一件事就是选定一种
  • 青岛网站建设康之迅中国建设银行信用卡黑名单网站
  • 江阴网站建设多少钱论述网站建设的主要内容
  • 企业建设营销网站的目的商城小程序多少钱
  • 阿里云服务器上如何做网站沈阳哪家网站做的好
  • 虹口高端网站建设苏州高端网站建设企业
  • 网站方案模板seo搜索引擎优化到底是什么
  • 凡科做的网站可以在百度搜到吗网站中的文章可以做排名吗
  • 企业门户网站的安全性石家庄企业建站
  • 自己建设网站平台步骤推广软文范文
  • 石家庄做外贸的网站建设简历制作免费模板网站
  • 深圳中小企业网站制作wordpress健身预定主题
  • 怎么看一个网站是不是外包做的基于 wordpress
  • 同服务器网站查询工具常州市城市建设局网站
  • 网站开发与制作工资分类信息发布 wordpress
  • 安徽省校园网站建设icp ip 网站备案查询
  • 黑龙江做网站的公司哪个网站可以做编程题