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

青岛建站模板厂家小型培训机构管理系统

青岛建站模板厂家,小型培训机构管理系统,我做的电影网站为什么百度搜索不到,个人可以做几个网站前言 (1)刷B站看到一个面试题,不用加减乘除计算两数之和。 (2)当时我看到这个题目,第一反应就是感觉这是一个数电题目。不过需要采用C语言的方式编写出来。 (3)不过看到大佬的代码之…

前言

(1)刷B站看到一个面试题,不用加减乘除计算两数之和。
(2)当时我看到这个题目,第一反应就是感觉这是一个数电题目。不过需要采用C语言的方式编写出来。
(3)不过看到大佬的代码之后,感觉自己的思想还是太局限了。

利用数电知识解题

(1)当时我看到这个题目,第一想法就是画出逻辑电路图,分析过程我就不赘述了。感兴趣的可以看【硬件科普】带你认识CPU第02期——CPU是怎么计算加法的(上)这个视频讲解

在这里插入图片描述

(2)根据上图,于是我们可以知道,需要一个当前值a和b,一个输入的进位值carry_bit。最终输出数据S和进位符号carry_bit。
注意:carry_bit是进位符号,所以他每次计算的时候,需要左移1位,否则他就是在上一位,最终输出的是一个错误数据。

#define get_bit(data,bit)  (data & (0x01 << bit))
#define AND(a,b,i)   (get_bit(a,i) & get_bit(b,i))
int ADD(int a,int b)
{int i,carry_bit=0,ret=0;for(i=0 ; i<16 ; i++){ret |= get_bit(a,i) ^ get_bit(b,i) ^ (carry_bit<<1); //计算本位值carry_bit = AND(a,b,i) | AND(a,carry_bit,i) | (get_bit(b,i) & (carry_bit<<1)); //计算进位值}return ret;
}

将上面代码精简

(1)这个是一个大佬的思路,与我们上面一样,建立一个本位和一个进位。不过这一次与上一次不一样的点在于,上一次每次都是一位一位的进行操作。而大佬是直接将本位的值利用异或运算一次性计算出来,进位值利用与运算保留。
(2)得到进位值之和,将进位制左移一位,再与上一次的本位进行异或运算,得到进位制。循环往复,最终直到进位制消失。

在这里插入图片描述

int ADD(int x,int y)
{while(y != 0)  //直到进位值消失{int tmp = x^y; //异或,计算出本位y = (x&y)<<1;  //与,计算出进位x = tmp;}
}
http://www.hengruixuexiao.com/news/49200.html

相关文章:

  • 潍坊网站建设首荐创美网络指数型基金
  • 男女做受视频网站seo查询爱站网
  • wordpress 多个子站点汕头搜索引擎优化服务
  • 外贸网站制作广州保定百度推广联系电话
  • 做网站最大的公司竞价推广什么意思
  • 新泰市住房和城乡建设局网站新闻源软文发布平台
  • 如何用jsp做简单的网站满十八岁可以申请abc认证吗
  • 万网 网站建设合同想学销售去哪培训
  • 微信卖水果链接网站怎么做的怎么自己制作一个网站
  • 购物网站开发 webstorm个人免费开发网站
  • 如何自己办网站网站建设技术解决方案
  • 网站效果图确认表深圳专业seo
  • 展示型网站 营销型网站东莞网站建设制作
  • 淘宝客是如何做网站与淘宝对接的今日新闻热点大事件
  • 建设网站应该怎么做百度官方客服
  • 怎么样建设一个网站微信小程序开发教程
  • wordpress三栏博客主题墨子学院seo
  • 做公司网站的总结百度推广官网入口
  • 秦皇岛网站建设公司免费的网络推广渠道
  • 网站运营服务商电商运营方案计划书
  • wordpress三站合一google搜索排名优化
  • 广州网站优化网站建设南京seo按天计费
  • 一般网站做推广要多大的带宽和内存seo服务顾问
  • wordpress集成关注公众和登陆seo刷词
  • asp网站如何搭建购物网站如何推广
  • 网站开发与程序开发企业网站建设的一般要素
  • 不花钱自己可以做网站吗成都seo学徒
  • 网站建立项目步骤表白网站制作
  • 福清做网站的公司安卓优化大师下载
  • 网站开发协议合肥关键词排名推广