逻辑门 与 买猫电路升级版
逻辑门(logic gates)
制造计算机的基本电路
今天读了《编码》第11章 门,刚刚用 C 语言函数把计算机中基本电路写出来了,包括以下6个:
- 缓冲器 (buffer);
- 反向器 (inverter);
- 与门 (AND);
- 或门 (OR);
- 与非门 (NAND);
- 或非门 (NOR);
代码部分
#include <stdio.h>
#include <stdbool.h>bool AND(bool x, bool y);
bool OR(bool x, bool y);
bool NAND(bool x, bool y);
bool NOR(bool x, bool y);
bool INVERTER(bool x);
bool BUFFER(bool x);int main(){return 0;
}bool AND(bool x, bool y){bool ret = 0;if(x && y) ret = 1;return ret;
}
bool OR(bool x, bool y){bool ret = 0;if(x || y) ret = 1;return ret;
}
bool NAND(bool x, bool y){bool ret = 1;if(x && y) ret = 0;return ret;
}
bool NOR(bool x, bool y){bool ret = 1;if(x || y) ret = 0;return ret;
}
bool INVERTER(bool x){bool ret = !x;return ret;
}
bool BUFFER(bool x){bool ret = x;return ret;
}
用 C 语言的基本电路函数实现买猫的过程
控制面板和电路图
程序用输入四个数来代表4个开关的状态,如果会写图形界面,用图形界面的四个按钮来表示开关就更完美了。
程序所有算法部分都是用那 6 个基本函数实现的。主要有两组算法,一个是控制面板的算法,另一个是电路图的算法。
代码说明
输入4个数, 代表控制面板的四个开关,输入 0 表示开关在下面, 输入1 表示开关在上面,比如第一个开关 0 代表 M (公猫),1 代表F(母猫)。
输出1个数,表示结果, 0 表示不是想买的猫, 1表示是想买的猫。
输入示例:
0 0 1 0
输出示例:
1
源代码
#include <stdio.h>
#include <stdbool.h>bool AND(bool x, bool y);
bool OR(bool x, bool y);
bool NAND(bool x, bool y);
bool NOR(bool x, bool y);
bool INVERTER(bool x);
bool BUFFER(bool x);int main(){int t1 = 0;int t2 = 0;int t3 = 0;int t4 = 0;bool F;bool M;bool N;bool U;bool B; bool O;bool W;bool T;bool Meow;printf("Please input four numbers, 0 or 1\n");scanf("%d %d %d %d", &t1, &t2, &t3, &t4);F = BUFFER(t1);M = INVERTER(t1);N = BUFFER(t2);U = INVERTER(t2);B = AND(BUFFER(t3), INVERTER(t4)); O = AND(BUFFER(t3), BUFFER(t3));W = AND(INVERTER(t3), INVERTER(t4));T = AND(INVERTER(t3), BUFFER(t4));Meow = OR(AND(N, OR(AND(M, OR(W, T)), AND(F, INVERTER(W)))), B);printf("%d\n", Meow);return 0;
}bool AND(bool x, bool y){bool ret = 0;if(x && y) ret = 1;return ret;
}
bool OR(bool x, bool y){bool ret = 0;if(x || y) ret = 1;return ret;
}
bool NAND(bool x, bool y){bool ret = 1;if(x && y) ret = 0;return ret;
}
bool NOR(bool x, bool y){bool ret = 1;if(x || y) ret = 0;return ret;
}
bool INVERTER(bool x){bool ret = !x;return ret;
}
bool BUFFER(bool x){bool ret = x;return ret;
}
逻辑门 与 买猫电路升级版相关推荐
- 用 C语言模拟买猫的过程
这是一个防止代码丢的笔记 最近在学习C语言,同时也在读<编码>这本书,读着读着突然有一种想把编码中的电路实现出来的想法,由于现实世界中缺少材料(大量的电线.开关和灯泡等等),所以产生了用C ...
- 微型计算机电路基础第四版逻辑门,数字逻辑的电路基础——逻辑门.PDF
数字逻辑的电路基础--逻辑门 课程代码 第三讲数字逻辑的电路基础 --逻辑门 佟冬 Microprocessor R&D Center tongdong@ /courses/digital/2 ...
- 小米台灯突然自己亮了_升级版值不值得买?米家台灯1代1S对比测评
图吧垃圾佬对于米家两款台灯比较认真仔细的对比测评(附对照) 首先先说结论:值 台灯作为生产力工具我们在日常生活中常常会忽视它的作用,认为只要有个亮光就够用了,过去咱也是这么想的所以经常干一些现在看来一 ...
- 爬了20W+条猫咪交易数据,它不愧是人类团宠
作者 | 叶庭云 来源 | 修炼Python 头图 | 下载于视觉中国 前言 看到可爱的猫咪表情包,总是会忍不住收藏,晒部分图如下: 认识的一些朋友也养了猫,比如橘猫.英短.加菲猫之类的,看他们发朋友 ...
- 用jk触发器构成二分频电路_深入了解数字电路之时序电路
什么是时序电路? 组合电路是根据当前输入信号的组合来决定输出电平的电路,换言之,就是现在的输出不会被过去的输入所左右,也可以说成是,过去的输入状态对现在的输出状态没有影响的电路.时序电路和组合电路不同 ...
- 练习答案-分支与循环-超市买苹果练习-猜数字小游戏
超市买苹果,初始版 需求 参考代码 # 苹果价格 多少钱一斤 price = 5# 买家购买数量 num = int(input("需要买几斤苹果"))# 总价格 total_pr ...
- 什么猫猫最受欢迎?Python采集猫咪交易数据
前言 在日常生活中,我们看到可爱的猫咪表情包,总是会忍不住收藏 认识的一些朋友也养了猫,比如橘猫.英短.加菲猫之类的 看他们发朋友圈撸猫,老羡慕了,猫咪真的太可爱啦. 你是不是也动过养猫猫的小心思呢~ ...
- 会撸猫了不起啊?有本事自己写一个撸猫撸鱼撸飞机才是牛逼
内容 | 蔡一 北京志顶科技技术总监 整理 | Aholiab 「撸猫」游戏是2月8日上线iOS版的中国区,有个很有意思的中文名,叫「谜恋猫」.它背后是基于ERC721协议的,因为ERC20标准通证 ...
- 计算机实现原理专题--逻辑门
该专题是"编码"一书的学习笔记,通过笔记的形式能让自己更好的理解计算机的实现原理(注意这里说的是实现原理而不是组成原理,千万不要和大学的计算机组成原理混为一谈).计算机只认0和1, ...
- 凶猛现金贷背后的欲望深渊:女子网上撸81只猫,欠下70万元债
http://finance.qq.com/a/20171114/005362.htm?pgv_ref=aio2015&ptlang=2052 由趣店集团赴美上市引发的舆论争议尚未平息,11月 ...
最新文章
- python守护进程进程池_Python进程池非守护进程?
- 17.ubuntu18.04解决压缩包乱码问题
- 历史上最伟大的方程 (托尼·赖斯 著)
- 有人知道 I3C 吗?
- 【TensorFlow】随机训练和批训练的比较与实现
- 获取pheatmap热图聚类后和标准化后的结果
- ASP.NET的分页方法(一)
- POJ1185炮兵阵地(状态压缩 + dp)
- 细思极恐:网传某软件可一键监控员工是否要“跑路”,争议发生后,监控系统研发商悄悄下架相关服务...
- 计算机软件销售收入会计,嵌入式软件产品销售额如何计算
- 自己做量化交易软件(26)小白量化事件回测之MetaTrader5自动回测
- kindle看pdf乱码_Kindle 中文书名 目录 乱码 解决办法
- 在Web网页里面实现像Excel/WPS条件格式那样根据数据大小自动改变背景颜色(网页数据热力图实现方法)
- 《软件测试》第十二章 文档测试
- 怎么做照片拼图?这些方法值得收藏
- 数值微分的python实现
- HDU 5441并查集 by cyl
- 赫夫曼压缩(萌新劝退)
- 城市信息area.js
- 什么是数据中心基础设施管理(DCIM)