计算机科普杂文一篇

2023-10-27

最近这一两年,因为工作需要,学了杂七杂八的很多语言,再加上平时看的从美国来的书籍,正好有空,写一篇关于计算机入门级的杂文.
那我先从网络说起,我希望讲的简单明了,各位一看就懂。
由于在现实世界,十进制,六十进制等方式表达数字不是很稳定(容易出错),所以计算机中才有二进制。进制是个什么概念,比如小时和分之间是六十进制的,30分钟化成小时就是:30÷60=0.5小时;又比如小时和天之间是24进制的,8小时化成天,就是8÷24=0.33天。这样说的意思是任意一个数都可以用其他进制表示,而且进制之间也可以转换。只是十进制是一个特列,按照人们的思维习惯容易接受。
我就不讲二进制和十进制之间如何转换了,讲起来有些人会头疼(有兴趣的人请恶补码学),只是你看到很多讲计算机的书籍会出现一长串的类似”10010011”的数字,这就表示的是一个数字就可以了。
计算机之间通信的时候,也要基于一张表(ASCII表),如果在英语里面,只要能传送26个英文字母,就可以通信了。所以我可以简单的打个比方,例如你自己制定一个表格,a→1,b→2,c→3,……如此类推(十进制表达),顶多再对应个逗号,句号,空格(假定为27),就可以满世界的用英文来通信了。比如我要发个”I love you”,计算机就传送9,27,12,15,22,5,27,25,15,21,然后在接收方还是按照这张表,对应着表达出来就行。说到这里汉字就烦,英文就26个字母通信就够了,汉字那么多,这么对应,确实很麻烦,但是要通信还是得对应。当计算机普及之后,所以有了UTF-8这张表,大概意思就是把全世界出现的语言,每个字符对应一个数字,你打了这个字,计算机就传输这个数字就可以了。
由于网络上计算机很多,所以要给每台计算机编个地址,以便区分我要发给谁,所以有了网络地址这个概念(就是大家熟悉的IP地址)。你发送信息给别人的时候,这个地址是包在信息的外面的,这样子那些奇奇怪怪的铁盒子就一级一级的传送给对应这个地址的电脑。

网络地址的数量,当时在M国,只设计了42亿个(32位的二进制所能表示的最大的数),至少在1990年之前这个数量看起来是很多的,而且美国也不打算当时的局域网在其他国家发展,由于互联网是世界性质的,美国自己又留有很多,所以分到其他国家的就很少,分给中国的大概就2-3亿个(要知道社会主义和资本主义长期cold war,能分到这个数就不错了)。如果Z国同时超过3亿人上网(通过局域网接入网络的不算,这个时候其实是好几个人才用了一个地址,专业术语,网络地址转换(NAT)),IP地址就会不够,电信维护人员经常会说IP地址分配完了,其他人上不了网。或者说你要挂个网站服务器,你就必须申请一条带固定IP地址宽带,才可以叫全世界访问到你的网站(由于IP地址在中国紧缺,当你ADSL拨号断开的时候,电信联通就回收这个地址给其他人用了)。
互联网在美国容易创新,大概也有这个原因吧,因为中国人想挂个网站让全世界访问到(电信固定IP地址的宽带每个月800RMB),还是困难重重的,美国则很自由,大把的公网IP地址,扎克伯格就容易成功。
顺便说下如果想得到网络方面的认可,需要考取cisco(思科)的认证,分三个层次CCNA、CCNP、CCNE,由容易到复杂,据说CCNA也是非常难考的。
二个说下计算原理。
计算机里面进行的加减乘除都是用二进制来进行的。例如2+3运算的时候,中间那个加号表达的时候,还是一个数字,只是计算机看到这个数字会把这个数字翻译成一个加法运算,然后交给加法电路来处理。这个电路还是模拟的现实世界,只是这里是电压来相加的(0与0得0,1与0得1,只有这2中情况。二进制在这里便体现一个优势,如果是十进制,2,3,4……都要一个电压来区别,容易出错)。例如十进制里面满10就向上一位进1,不满就得出数字;二进制是满2就向上一位进1,不满就得出数字。加法和减法是同一个电路,乘法和除法是同一个电路。二进制只有1和0,所以设计乘法电路相对容易一些,但是还是模拟十进制的做法。至于其他更高级的运算,如乘方、开放、求余……这些只是加减乘除的复杂表达方式,如果想深入了解做法,请恶补数学。
三个说下软件。
造成计算机难于理解和学习的根本原因还是软件,因为软件大多有长长的代码,和不可思议的算法,以及各种按照个人喜好的约定(如果这种约定被很多人采用,就变成一种标准)。例如计算机表达一副黑白图片的时候,其实他也是用二进制来表达的,只是一种特殊的数据结构。一个屏幕,分很多个点,每个点都有个坐标,如果要拼成一幅图,就要告诉计算机哪个点(用坐标)是黑色还是白色(黑白还是用不同的数字区分)。然后按顺序存储在硬盘里面。需要的时候展示在屏幕就可以了,彩色的不过用更多的色阶来表示罢了。其他图片格式如jpg、bmp就有更复杂的算法。与其说计算机不懂,还不如说数学太差劲。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机科普杂文一篇 的相关文章

  • QT中的文件操作

    QT中的文件操作基于QFile类 1 打开文件 open bool open File fh QIODevice OpenMode mode QFileDevice FileHandleFlags handleflags DontClose
  • PCB相关知识-焊盘Pad

    文章目录 焊盘Pad 常规焊盘Reguar Pad 热焊盘Thermal Pad 隔离焊盘Anti Pad 总结 焊盘Pad 焊盘就是元器件封装中的引脚 在实际应用中使用焊锡将电阻 电容 电感 芯片等元器件的引脚和焊盘Pad连接在一起 电气
  • DeepSort算法简介

    SORT算法 SORT Simple Online and Realtime Tracking 算法是一种目标追踪算法 其简单有效 基于IOU来匹配 并且融入了卡尔曼滤波和匈牙利算法来降低ID Switch 可以说 追踪算法的目标只有两个
  • 内核态do_gettimeofday()、用户态gettimeofday()获取指令执行时间

    背景 芯片开发阶段 有个硬件有个配置一直无法生效 后面发现是软件写入使能还未能生效 硬件就开始配置了 导致不成功 加个延时就可解决 只是知道应该在纳秒级别 但具体十位还是百位级别 不太清楚了 所以就让我搞个代码测试下 写入一次寄存器需要的时
  • 瞎写

    1 小时候爱情就是一切 长大了 爱情变成可有可无的东西 就如同饭菜 有它 饭更香 没有它 饭还是饭 饿了也得吃下去 2 我想滚蛋 在这儿真的是学无所学 我都想自己开始创业 真的对不起老板给的这份工资 整天无所事事 3 不是合适不合适的问题
  • C语言图书馆管理系统

    C语言图书馆管理系统 全部代码如下 include
  • 异步Windows Socket包装,包括TCP与UDP,可处理粘包

    头文件 struct IPAddress union struct IPV4Address ULONG host USHORT port address UINT64 64 static IPAddress Zero ULONG GetHo
  • SteamVr、VRTK配置

    版本 SteamVr 1 2 3 VRTK 3 3 0 Unity 2019 4 28f1c1 VRTK配置 新建空对象 命名为SDKManager 添加VRTK SDK Manager 脚本 作用 管理各种VRSDk 在SDKManage
  • Android高德地图marker自定义弹框窗口

    最终效果 1 gradle里添加高德地图依赖 implementation com amap api map2d latest integration 2d地图功能 implementation com amap api location
  • 前端基础篇之 CSS 世界

    前端基础篇之 CSS 世界 基本概念 这些基本概念有些可能不易理解但却都很重要 如果看完还是很不理解的话需要自己谷歌或百度 网上关于这些概念的文章不少 流 流 又叫文档流 是 css 的一种基本定位和布局机制 流是 html 的一种抽象概念
  • 【pandas】to_datetime函数简单使用

    该函数将给定参数args转换为日期格式 需要传入参数format指定args的格式 注意format中年用Y表示 月和天用小写的m和d表示 pd to datetime 20220517 format Y m d gt gt gt Time
  • sweetalert2中ajax用法,SweetAlert2 使用教程

    SweetAlert2是一款功能强大的纯Js模态消息对话框插件 SweetAlert2用于替代浏览器默认的弹出对话框 它提供各种参数和方法 支持嵌入图片 背景 HTML标签等 并提供5种内置的情景类 功能非常强大 SweetAlert2是S
  • ChatGPT 全面解析

    ChatGPT问世 12月1日 美国人工智能公司OpenAI在网页上推出自然语言处理领域 NLP 的模型ChatGPT 它能够通过对话方式进行交互 并根据用户输入的自然语言文本内容 自动生成新的文本内容 一周内 ChatGPT的用户已突破1
  • 写每个程序员的第一个代码--Hello World程序

    1 首先创建一个文本文档 并输入以下代码 public class HelloWorld public static void main String args System out println Hello World 2 然后对程序重
  • 五子棋游戏(Java编写)双人对赛

    目录 1 游戏准则 2 游戏细节 代码如下 运行结果 bug测试 棋子重复 棋子越界 1 游戏准则 黑子白子依次下棋 不能重复 也不能越界 若违规 则重新下棋 判断输赢 判断各方向是否五个棋子连在一起 若有则胜 若无 则败 2 游戏细节 白
  • Docker 进行 apt 等操作时无法连接源

    Docker 进行 apt 等操作时无法连接源 重启 Docker 参考文章 sudo service docker restart or sudo etc init d docker restart
  • 【网络安全】一段小笑话学习 加密算法+盐

    催生这篇文章的一个原因是一位讲了半天听不懂原理还不虚心学习的群友 小笑话 群友 为啥两个一样的密码一个可以登录一个不可以 群友 不同用户名 群友 A账号 B密码 C账号 B密码 居然a能登陆c提示密码错误 群友 没有改东西 想必大部分人肯定
  • Python110道常见面试题

    干货 110 道 Python 面试笔试题超强汇总 这几天好多留言问有没有Python面试题 今天统一给大家分享一遍 希望能帮助此时仍在找工作的同学 尽快找到工作 希望对基本知识不熟悉的同学 能认真做一遍 肯定会有不少收获 1 一行代码实现
  • DB2时间戳查看

    1 打开日志 确定错误是那个数据库操作造成 2 查看bnd文件的时间戳信息 db2bfd b Card bnd grep Timestamp 显示时间戳 Timestamp tA5MPfMZ 2009 12 31 15 12 56 45 3

随机推荐

  • linux服务器下手动删除memcache中的key对应的value

    假设服务器ip是 10 0 0 1 端口是 1234 首先连上服务器 telnet 10 0 0 1 1234 查看某个key对应的值 假设key的名称为 type get type 获取值 delete type 删除
  • Anaconda下pip离线安装Pytorch(亲测可用)

    win10 Anaconda3 python3 7 CUDA10 进入pytorch官网https pytorch org 根据自己情况选择安装 注意 我并没有在Anaconda Prompt下直接输入Run this Comman的内容
  • 2023年十大最佳自动化测试工具

    Best Automation Testing Tools for 2023 对更快交付高质量软件 或 快速质量 的需求要求组织以敏捷 持续集成 CI 和DevOps方法论来寻找解决方案 测试自动化是这些方面的重要组成部分 最新的 2018
  • ContentProvider与ContentResolver

    1 理解ContentProvider与ContentResolver 看下面这个图就行了 2 ContentProvider可以直接理解为一个public的servlet类 里面 封装了一些public 的函数 这个函数可以操作数据库 文
  • C++11 并发指南三(Lock 详解)

    C 11 并发指南三 Lock 详解 文章目录 C 11 并发指南三 Lock 详解 std lock guard 介绍 std lock guard 构造函数 std unique lock 介绍 std unique lock 构造函数
  • 深入理解Java虚拟机(四)Eden、Survivor、老年代、GC日志

    1 年轻代 1 1 Eden区和Survivor区 新生代GC Minor GC 指发生在新生代的垃圾收集动作 Minor GC非常频繁 新生代采用复制算法 一般回收速度也比较快 因为采用复制算法 所以年轻代分为三部分 1个Eden区和2个
  • java string default values_@RequestParam使用defaultValue属性设置默认值的操作

    RequestParam使用defaultValue属性设置默认值 注意设置必须是string类型的 框架自己会做转换 RequestParam value page required false defaultValue 1 Intege
  • Window窗体属性的基础简述

    Window窗体属性 1 窗口的外观 WPF中默认窗口框架的外观 主要取决于Icon Title WindowStyle ResizeMode等属 性 Icon 指定窗口的图标 Title 指定窗口的标题 WindowStyle指定窗口样式
  • jetson tx2 上部署TensorRT模型推理

    参考 https arleyzhang github io articles 7f4b25ce 1 Jetson tx2 是什么 Jetson tx2简而言之就是AI计算终端 采用 NVIDIA Pascal 构架 外形小巧 节能高效 非常
  • [Matlab]巴特沃夫滤波器设计:低通、高通、带通和带阻

    巴特沃斯滤波器的特点 1 通频带内的频率响应曲线最大限度平坦 没有起伏 而在阻频带则逐渐下降为零 2 在振幅的对数对角频率的波特图上 从某一边界角频率开始 振幅随着角频率的增加而逐步减少 趋向负无穷大 测试代码 ButterWorthFil
  • 如何把图纸转换为t3格式_怎么把图纸转换成t3格式

    cad转化成t3格式 1 打开天正 cad 3 找到图纸保存的位置 点击点开 5 选择输出类型 输入 3 8 2020 05 27 42人浏览 在CAD看图中如何将图纸转成T3格式 浩辰 CAD 看图王官方页面 http yun gstar
  • git命令基本使用(拉取,上传)

    项目从git上通过SSH拉取或上传 1 初始化文件 git init 2 绑定账号的用户名 git config global user name shopping lby 3 绑定账号的邮箱 git config global user
  • 一篇就让你了解进程的虚拟地址与物理地址是如何进行映射的

    这篇文章可以让你了解进程的虚拟地址是如何映射物理地址的 在刚开始接触虚拟地址的概念时 真的是一头雾水 不知道它到底是个什么东西 一直有这个疑惑 为什么要用虚拟地址 虚拟地址的作用是什么 经过这么多年做过的项目 积攒经验后 我可以略知一些虚拟
  • 矩阵乘法

    题目描述 计算两个矩阵的乘法 n m阶的矩阵A乘以m k阶的矩阵B得到的矩阵C 是n k阶的 且C i j A i 0 B 0 j A i 1 B 1 j A i m 1 B m 1 j 输入 第一行为n m k 表示A矩阵是n行m列 B矩
  • 愿每一个人的创造力都能被激发:剪映Mac版来了!

    在移动端上线18个月后 剪映有了PC版 11月27日 视频创作工具剪映正式推出Mac专业版 Windows版计划于明年2月上线 去年秋天 剪映的移动端上线3个月即登顶App Store中国区免费榜 本着打造简单好用的产品 降低视频创作门槛的
  • 攻防世界web进阶区--php_rce write up

    打开靶机 这道题没有什么难点 重点在于RCE的认识和thinkphp的漏洞 那RCE是什么嘞 RCE 远程代码执行漏洞 远程命令 代码执行漏洞 简称RCE漏洞 可以让攻击者直接向后台服务器远程注入操作系统命令或者代码 从而控制后台系统 RC
  • 正交矩阵

    正交性 是从几何学中借来的术语 如果两条直线相交成直角 它们就是正交的 比如图中的坐标轴 用向量术语说 这两条直线互不依赖 沿着某一条直线移动 你投影到另一条直线上的位置不变 在计算技术中 该术语用于表示某种不相依赖性或是解耦性 如果两个或
  • 设计模式:结构型模式-----适配器模式

    1 概述 将某个类的接口转换成客户端期望的另一个接口表示 目的是消除由于接口不匹配所造成的兼容性问题 示例 生活中的适配器 即充电器 将220v的交流电转换为手机可以接受的直流电 2 分类 a 类的适配器模式 当希望一个类转换成满足另一个新
  • Qt::WA_NoMousePropagation用法

    在QT中 鼠标事件包含 鼠标按键按下 鼠标按键释放 鼠标双击事件 鼠标移动事件 分别由下面的event handler 事件处理器 实际上就是一些可override的函数 来处理 virtual void mousePressEvent Q
  • 计算机科普杂文一篇

    最近这一两年 因为工作需要 学了杂七杂八的很多语言 再加上平时看的从美国来的书籍 正好有空 写一篇关于计算机入门级的杂文 那我先从网络说起 我希望讲的简单明了 各位一看就懂 由于在现实世界 十进制 六十进制等方式表达数字不是很稳定 容易出错