自学C++随手记(四)

自学C++随手记(四) 接上之前的逻辑将滑动变阻器替换成晶体管晶体管就类似于一个管状通道内内部有一个挡板这个挡板是一个导体且可被向上掀起但它需要一个力来确保它被向上掀起。如果将这个负磁极放在通道另一段对电流进行牵引电流能够凭此进行借力加快少量电子的流速但因为被导体阻隔 所以要确保电流能够掀起挡板的一角 与磁体产生磁吸。所以本质上只要电流能掀起一点缝隙那么凭借正负极相吸就能令电流瞬间掀翻这个导体挡板然后后面被挤压的一堆电流在相互挤压推搡下瞬间向前爆发(也就是电压开闸主要依靠的是它 磁吸主要还是起到一个辅助借力的作用) 电流速度加快。所以只要能掀起一点挡板就能借力不能掀起就被卸力。串联不能分流那么利用并联进行分流一分二、二分四依次往上叠加来实现削减电流量的效果。当当通往某个晶体管的电流被分流得不足以掀起一点挡板时这个时候便相当于是0(关电)这么做就会导致计算机线路无法通电被导体阻隔 于是计算机就没力气了。所以关机状态下因为有电池或者有电源持续输送电源这些线路都是通电的 只是被分流削弱到只能有一部分线路能开闸如果要实现开机的话仅凭一个主电不好实现逻辑上应该还有一个特殊的用于传电以用于打破电路平衡的蓄电装置。按下开机键就给这个装置放闸比如发送电信号然后这个机械闸断电没有电力推动就无法维持闭闸 于是开闸给它电于是又可以闭闸如果电路放闸又会出现一个问题 要么电路限制死要么电路被电流冲开。那么这个特殊蓄电装置的电流的来源只能是 平时连接电源时会开通专门的线路给这个特殊蓄电装置通电。但如果全靠晶体管的话这个特殊蓄电装置也很难打破平衡进行放闸于是又回到了这个死循环这里。 如果说电路在蓄电装置里形成一条闭环电路正常运转我唯一能想到的便是机械按钮按下 然后电路被导体拦截于是闸门断电松闸由于电路断了 再加上闸门开了于是电流之间相互加压之下一股脑的涌向闸口这时为了避免滚滚涌来的电流破坏电路 应当加入适量的滑动变阻器以阻止这种可能的发生。计算机的电信号按照这个逻辑不应当是通过电流自然流动而产生的应当涉及到机械干预所以软件上通过指令去操作计算机这些指令让我感觉很玄学。但要想打破现有的电流的正常运行的平衡指令应该也进行了机械干预但它明明涉及到非物理强行干预的层面。 如果要将其与机械干预强关联的话那么我唯一能想到的便是 键盘链接计算机键盘内有电路流转根据对应按键敲出指令就将电流通过连接器输送过去进行电流干预 往平衡的电流中注入一股不和谐的力来打破原本有序的电路平衡以做到开启原本无法开启的电路然后可能导致电流又因开闸而被进一步分流导致原本能正常开闸的电路无法开闸于是电路中断。通过键盘内电流的状态不通过连接器往电脑放闸、往电脑放闸 且根据电脑输送电流的大小、电流的频率等多种电路情况 来间接影响电脑电路闸门的关和开以达到想要的物理干预。如果说二进制指令还在我能够理解的范围内的话(毕竟键盘物理层面上对电路进行干预从这个层面上来看符合电路开闸和放闸的区间之内)那么汇编简直是一种奇迹。二进制就相当于是全程手动开关闸但汇编则是将这种行为给封装起来了它没有涉及到物理上手动对闸门进行机械干预。 汇编第一次将电脑从物理层面拉入了软件层面它不再需要手动去开关而是根据代码自动去执行开关。如果是这样的话那么逻辑上是将对应的电流开关闸以及开闸后电流量、开关闸频率给保存下来。所以计算机存在多个小蓄电格子根据指令对这些小格子进行开关闸等操作也就是保存对应二进制的开关所需要的电流状态。但是依旧没有解决一个问题根据指令自动放闸理论上要实现操作还是得外部机械驱动但它完全将代码作为释放小蓄电格子闸门的顺序以及释放次数又不符合这个逻辑。假设将线路最终连向输送至小格子的供电线路呢然后第一个小格子对电脑供电的路线最终能来到第二个最后一个小格子的供电路线能来到最开头的小格子。 所以拆开来看在肉眼难以观测的情况下可能因为一些闸门问题导致电流在线路上不是连续性的是一段一段的。原则上来说电量达到阈值会自动放闸但闸门翻上去需要时间(原则上可以通过增加闸门的灵敏度来缩短时间) 于是闸门开启到电流完全通过后 闸门放下便是所谓的节拍。那么理论上它不看指令是什么只负责无脑往里面灌电电流信号理论上是一样的。电流一样、电压一样、闸门一样、灵敏度也是一样那每个小格子表述的信息不都一模一样吗既然分析不出来只能尝试在硬件层面进行下手了本质上如果是八位地址最多开电闸8次就能打通这八位地址的所有电路。那么根据树形结构的逻辑八根地址线全部开闸电流先汇入一条唯一的主道路然后开始分流(每一次分流都会分流成两条线路一生二二生四四生八)。那么逻辑上这个八根地址线在树的最顶端不算它的根及其以上那一层最多能同时点亮2的七次方个地址。寻址的同时也顺道把其他的地址也给点亮了或者说把沿途的所有通道都给打通了逻辑上没有其他通道的打通 就没有树的最顶端的点亮。参照此逻辑精准寻址 通电是无法实现的所以其实精准寻址只是根据八根地址线的电流覆盖情况翻译成我们能看懂的形式 (2的八次方有两个闸没有通 二进制便是11111101)对于计算机而言则不是寻址 只是对这些所经路径进行通电。逻辑上八根地址线左边代表高位右边代表低位。那么根据二进制进位的原则个位便是2⁰依次往上便是2ⁿ⁻¹于是由低到高的第几根地址线开电便有2ⁿ⁻¹个闸开启。技术上需要将代码识别为地址线的状态通过地址线的状态来自动开辟电路。 所谓自动我感觉是你在敲代码的时候通过键盘的按键计算机就自动将这些按键传过来的电流给接收并存储起来然后运行的时候就将这些电流根据当时敲代码后从键盘第一时间传出来的状态释放出来一对一执行(识别二进制虚拟码)。既然如此那么将你敲代码传过去的电流状态存储在磁盘内后面运行再通过磁盘读取然后一比一复刻你当时敲代码时通过键盘的电线传过去的电流状态。 将电流的当前状态转换成与磁体的正负吸引和同极相斥逻辑上会不断供电来保证这个力的状态控制好供电量便不会增加这个力或者减少。后面就能通过断开这里的电后磁极间的力失去平衡就将这个电流的状态给推回去通过地址线来操控电脑电路开关实现代码。这便是将物理上控制开关的通断能够与虚拟符号建立联系的关键。倒是间接的摸到了磁盘的底层原理磁极与电的关系。 一旦要取出就可以打破他们当前的磁极状态比如说断电(没有这个推力来稳定之前存储的电流状态和磁极的磁力稳定) 然后就被磁力将其反推给地址线用于控制计算机电路开关状态。 但怎么做理论上就相当于失去了对于“数据的存储”(电流状态)那么让电流从磁极旁经过然后磁极将磁盘内它们两个相互的作用力按同样的状态对这个经过的电流施加相同的状态来实现一一复刻便符合逻辑。可能描述有些不符合规范但毕竟是自己推导出来的逻辑上应该是没什么问题的。汇编编译器是二进制运行的一个程序所以写入汇编代码到编译器里编译器会将这些电流状态调整为二进制的电流状态。然后拿给CPU去执行。然后c编译器本质上也是二进制写的一个程序只不过它没有在专门为c开辟一个磁盘来将每个代码的电信号对应成二进制的电信号。而是开辟磁盘来对应汇编的电信号汇编的电信号相对于二进制来说要轻便很多所以读取对应磁盘的汇编电信号然后通过这个电信号再去读取汇编编译器磁盘的二进制电信号。最后再拿去给CPU去执行这个电信号。