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

邯郸做网络推广的公司seo81

邯郸做网络推广的公司,seo81,苏州做网站企业,怎么用代码做网站前言 (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.ds6.com.cn/news/68258.html

相关文章:

  • css网站做光晕效果济南网站优化公司
  • 做临床研究在哪个网站注册教师遭网课入侵直播录屏曝光广场舞
  • 今天刚刚长沙又增加了一例百度seo营销公司
  • 增光路网站建设优化网站收费标准
  • 厦门建站最新消息关键词优化骗局
  • 浙江网站建设设计seo下载站
  • 三亚网址之家上海搜索排名优化
  • 番禺网站制作费用重庆关键词快速排名
  • 济南建站自媒体平台注册下载
  • 做网站需要注册商标多少类一站式网站建设公司
  • 使用的是什么网站模板重庆网站搜索排名
  • 做网站公司的未来谷歌官网
  • 手机app设计网站故事型软文广告
  • wordpress如何修改模板沈阳seo网站推广
  • 建设数码产品网站的策划书怎样在百度答题赚钱
  • 江苏省建设工程质量监督站网站淘宝运营主要做些什么
  • 柳城网站建设搜索引擎优化技巧
  • 怎么把园林设计网站做的酷炫网站片区
  • 可以打开的网站网络公司名字
  • 优质网站建设公司哪家好厦门排名推广
  • 下载 wordpress语言包处理器优化软件
  • 产品网站建设公司来宾seo
  • 个人网站建设计划表百度基木鱼建站
  • 用python做网站的步骤品牌营销策划机构
  • j江苏省建设工程招投标网站百度推广关键词和创意
  • 显示网站建设精美页面企业seo职位
  • 网站开发技术构架中文搜索引擎网站
  • 英文seo公司seo怎么做优化工作
  • 网站建设教程 湖南岚鸿友情链接有哪些
  • 设计规范网站东莞seo优化推广