计算机科学速成课【学习笔记】(4)——二进制
本集课程B站链接:
4. 二进制-Representing Numbers and Letters with Binary_BiliBili_哔哩哔哩_bilibili4. 二进制-Representing Numbers and Letters with Binary_BiliBili是【计算机科学速成课】[40集全/精校] - Crash Course Computer Science的第4集视频,该合集共计40集,视频收藏或关注UP主,及时了解更多相关视频内容。https://www.bilibili.com/video/BV1EW411u7th?p=4&vd_source=efc1c9272504933e74aad03c1db8271e
上集介绍了如何使用晶体管制作逻辑门,而且提到了布尔代数中只有True和False两个值,用数字可以表示为0和1,那我们怎样才可以表示出更多的信息呢?下面会给出答案。
1. 二进制数字
让我们想想在十进制中是如何表示更多的信息 —— 加位数。一个数字只能表示0~9,假如我们在前面加上一位,就能表示出0~99的数字,假如我们不断地在前面加位数,就可以表示出无穷无尽的数字。二进制也是同样,通过在前面添加位数,就可以表达更多的信息。
举个栗子,十进制数字263代表了什么?答:2个100、6个10和3个1的总和。
263 = 2 * 100 + 6 * 10 + 3 * 1
100's | 10's | 1's |
2 | 6 | 3 |
从上面的例子可以看出,每位都有不同的乘数,且高位比低位大10倍,因为每一位可以表示10个数字(0~9),只有超过9的才会加一位。这样基于每一位都有10个数字的计数方式,就是十进制了。
二进制也是一样的道理。在二进制中,每一位可以表示两个数(1和0),所以高位会比低位大两倍,也就是说,从低位到高位,每一位代表的数字就是1、2、4、8...,以二进制数字101举例,就是1个4,0个2,1个1的和,等于十进制中的5 。
4's | 2's | 1's |
1 | 0 | 1 |
再比如10110111,就是128*1 + 64*0 + 32*1 + 16*1 + 8*0 + 4*1 + 2*1 + 1*1 = 183
128's | 64's | 32's | 16's | 8's | 4's | 2's | 1's |
1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 |
2. 二进制计算
还是十进制加法来举例,比如现在要计算183与19的和,在做加法时,首先将两个数字的相同位对其,然后从个位开始,每一位对应相加,如果加出来的结果大于10,就向下一位进一位:
把这套规则迁移到二进制中也同样适用:
3. 计算机中的二进制
在二进制中,每一位数(一个0或者一个1)被称为一个Bit(比特)。在上面的例子中,我们使用了两个8位的二进制数字进行加法运算。一个8bit的二进制数字可以表示的最小数字是0(即8位都是0),可以表示的最大数字是255(8位都是1),总共为2的8次方共256个数字。
在计算机中,每8位被称为一个Byte(字节),即1 byte = 8 bits。常见的储存单位如KB(千字节),MB(Mega--兆字节),GB(Giga--千兆字节)都是以字节为基本单位的。1 KB = 1024Bytes。
我们常听到的32-Bit或者64-Bit计算机,代表就是计算机一次处理的最大的数据量,即它一次可以处理4Byte(32bit)或者8Byte(64bit)的数据。32bit可以表示的最大数字为 4,294,967,295。
4. 负数的表示
并不是所有的数字都是正数,计算机会用第1位作为标志位来表示正负,1表示是负数,0表示是正数。例如一个32位的数,第一位表示正负,剩下的31位表示数字,能表示的范围就大概是 -2,147,483,648~2,147,483,648。虽然20亿是一个很大的数字了,但是在处理各种问题时明显还不够用。这时候就体现出64位的优势了,它能表示的最大有符号数字是9.2E+18。
5. 浮点数的表示
此外,计算机也要处理非整数,术语叫做浮点数,因为小数点可以在数字之间浮动。最常见的表述浮点数的方式是IEEE 754 标准,它以类似科学计数法的方式来存储十进制的值,比如625.9 可以写成0.6259E+3。其中.6259叫做有效位数,3叫做指数。
以32位浮点数举例,它将32位数设置成了1个正负标志位(S),8个指数位(E),23个有效数字位(M),所表述的数字。
6. 文字的表示
谈完了数字,文字是如何表示的呢? 计算机通过给每个字符编码的,用二进制来表示文字。1963年发明的 ASCII 码(American Standard Code for Information Interchange—美国信息交换标准代码)一直延用到现在。ASCII 码由7位二进制数表示,可以表达128个不同的字符,包括了大写字母、小写字母、数字0-9,大部分标点符号及一些换行符、制表符等特殊符号。一个字节有8位, ,多出来的128-255之间的字符是开放给其他国家使用的。
7. UNICODE
ASCII 码简单易用,它使用不长于一个字节长度的二进制编码来解决了字符的问题。但是,ASCII 码却有个明显的缺陷:假如一个国家的文字超出了一个字节能表达的范围不就完犊子了。为了解决这个问题,各个国家都研究了自己的多字节编码方案,但并不互相兼容,导致在不同系统之间,就会产生乱码问题。
1992年,Unicode 闪亮登场了,它统一了所有编码的标准,解决了不同国家不同编码标准的问题。常见的 Unicode 是16位的,可以表达超过一百万个字符,足够覆盖所有语言的每个字符了——100多种字母表占了12万个位置、剩下的还可以表示各种标点符号、数学符号、甚至 Emoji 表情!
8. 其他编码格式
除了 ASCII 码,Unicode 编码表示字符以外,还有其他常见的例如 MP3、PNG、MP4 等等各种编码格式,可以用来表达声音、图片、视频等信息。其实,我们每天在电脑上看到的照片、听到的音乐、看的电影、玩的游戏、浏览的网页(包括这次分享的博客)甚至我们用的操作系统,它们都是一串0和1长序列。这就像是用一种特殊的语言,让电脑能理解我们的意图,为我们创造出美好的体验。
相关文章:
计算机科学速成课【学习笔记】(4)——二进制
本集课程B站链接: 4. 二进制-Representing Numbers and Letters with Binary_BiliBili_哔哩哔哩_bilibili4. 二进制-Representing Numbers and Letters with Binary_BiliBili是【计算机科学速成课】[40集全/精校] - Crash Course Computer Science的第4集视频&…...
数据库开发工具Navicat Premium 15 mac软件特色
Navicat Premium 15 mac版是一款数据库开发工具,Navicat Premium 15 Mac版可以让你以单一程序同時连接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 数据库。 Navicat Premium mac软件特色 无缝数据迁移 数据传输,数据同步和结构同步…...
从零开始构建区块链:我的区块链开发之旅
1.引言 1.区块链技术的兴起和重要性 区块链技术,作为数字化时代的一项颠覆性创新,已经成为当今世界最令人瞩目的技术之一。自比特币的问世以来,区块链技术已经从仅仅支持加密货币发展成为一种具有广泛应用前景的分布式账本技术。其核心优势…...
c JPEG编码,但有错误
#include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdlib.h> #include <unistd.h> #include <sys/ioctl.h> #include <linux/videodev2.h> //v4l2 头文件 #include <strin…...
二级C语言备考1
一、单选 共40题 (共计40分) 第1题 (1.0分) 题号:6923 难度:较易 第1章 以下叙述中正确的是 A:C语言规定必须用main作为主函数名,程序将从此开始执行 B:可以在程序中由用户指定任意一个函数作为主函数…...
【2024系统架构设计】 系统架构设计师第二版-嵌入式系统架构设计理论与实践
目录 一 嵌入式系统软件架构的原理 二 嵌入式系统软件架构的设计方法 三 案例分析 一 嵌入式系统软件架构的原理 🚀嵌入式系统的典型架构可以分为...
用python提取word中的所有图片
使用word中提取的方式图片会丢失清晰度,使用python写一个脚本,程序运行将弹出对话框选择一个word文件,然后在弹出一个对话框选择一个文件夹保存word中的文件。将该word中的所有图片都保存成png格式,并命名成image_i的样式。 程序…...
医疗器械分类及是否需要临床
1、医疗器械的分类: 在中国,医疗器械的管理分为一类、二类和三类,这是根据《医疗器械监督管理条例》的规定划分的。不同类别的医疗器械受到不同的监督和管理,包括注册审批、生产质量监督、市场监管等方面。 一类医疗器械&#x…...
AI人工智能虚拟现实行业发展分析
AI人工智能和虚拟现实是当今科技领域最受关注和研究的两个领域。这两项技术的迅速发展给各行各业带来了巨大的变革和机遇。在过去的几年里,AI和虚拟现实已经取得了显著的进展,并且有着广阔的发展前景。 AI人工智能作为一种模拟人类智能的技术࿰…...
3. SPSS数据文件的基本加工和处理
如何获取SPSS自带的案例数据文件? 首先找到SPSS的安装目录,然后找到Samples文件夹 可以看到有不同语言版本,选择简体中文 就能看到很多.sav文件 数据文件的整理 个案排序 单值排序 例:对于下面的数据集,将工资按…...
Ubuntu20二进制方式安装nginx
文章目录 1.下载nginx安装包2.安装nginx3.安装出现的问题及解决方案错误1:错误2:错误3: 4.常用命令5.知识扩展: 1.下载nginx安装包 nginx官网:http://nginx.org/en/download.html 选择稳定的nginx版本下载。 2.安装ngi…...
window mysql5.7 搭建主从同步环境
window 搭建mysql5.7数据库 主从同步 主节点 配置文件my3308.cnf [mysql] # 设置mysql客户端默认字符集 default-character-setutf8mb4[mysqld] server-id8 #server-uuidbc701be9-ac71-11ee-9e35-b06ebf511956 log-binD:\mysql_5.7.19\mysql-5.7.19-winx64\mysql-bin binlog-…...
MCU、MPU、SOC简介
文章目录 前言一、MCU二、MPU三、SOC总结 前言 随着处理器技术的不断发展,CPU(Central Processing Unit)的发展逐渐出现三种分支,分别是MCU(Micro Controller Unit,微控制器单元) 和MPU(Micro Processor Unit,微处理器…...
Kubernetes那点事儿——配置存储:ConfigMap、Secret
配置存储:ConfigMap、Secret 前言ConfigMapSecret 前言 前面介绍过的各种存储主要都是做数据的持久化,本节介绍的ConfigMap和Secret主要用于配置文件存储,或者环境变量的配置。 ConfigMap 创建ConfigMap后,数据实际会存储在K8s中…...
小白向:搭建企业培训APP的完整技术指南
当下,许多企业转向了现代化的培训方法,其中一个关键的工具就是企业培训APP。本文将为你提供搭建企业培训APP的完整技术指南,助你在数字化时代更好地满足企业培训的需求。 一、需求分析与功能规划 在开始开发之前,首先需要明确企…...
CVE-2023-36025 Windows SmartScreen 安全功能绕过漏洞
CVE-2023-36025是微软于11月补丁日发布的安全更新中修复Windows SmartScreen安全功能绕过漏洞。攻击者可以通过诱导用户单击特制的URL来利用该漏洞,对目标系统进行攻击。成功利用该漏洞的攻击者能够绕过Windows Defender SmartScreen检查及其相关提示。该漏洞的攻击…...
分析一个项目(微信小程序篇)二
目录 首页: 发现: 购物车: 我的: 分析一个项目讲究的是如何进行对项目的解析分解,进一步了解项目的整体结构,熟悉项目的结构,能够知道每个组件所处在哪个位置,发挥什么作用。 接…...
每日论文推送(有中文摘或源码地址或项目地址)
***VX搜索“晓理紫”并关注就可以每日获取最新论文***标题: “It’s not like Jarvis, but it’s pretty close!” – Examining ChatGPT’s Usage among Undergraduate Students in Computer Science作者: Ishika Joshi, Ritvik Budhiraja, Harshal D Akolekar摘要: Large lan…...
【漏洞复现】锐捷EG易网关login.php命令注入漏洞
Nx01 产品简介 锐捷EG易网关是一款综合网关,由锐捷网络完全自主研发。它集成了先进的软硬件体系架构,配备了DPI深入分析引擎、行为分析/管理引擎,可以在保证网络出口高效转发的条件下,提供专业的流控功能、出色的URL过滤以及本地化…...
Nginx安装http2和ssl模块
Nginx安装http2和ssl模块 Nginx在执行默认安装命令的时候,并不会编译启用ngx_http_v2_module模块。故在修改Nginx配置文件启用http2.0协议的时候会报错。 一.检查Nginx安装了哪些模块 #进入Nginx的安装目录 cd /usr/local/nginx #执行命令查看安装了哪些模块 ./sbi…...
Android 8.1 隐藏设置中定位功能
Android 8.1 隐藏设置中定位功能 最近接到客户反馈,需要隐藏设备设置中的定位功能,具体修改参照如下: /vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/SecuritySettings.java mLocationcontroller.displ…...
无线网卡怎么连接台式电脑?正确操作步骤分享!
“我在使用电脑时经常都需要用到网络,请问大家在使用无线网卡时怎么将它与台式电脑进行连接的呢?” 使用电脑的用户在进行网上冲浪时都需要先连接网络。如果不想使用网线,无线网卡不仅可以为用户提供网络服务,在使用时该更加灵活和…...
聚道云软件连接器助力某贸易公司实现付款流程自动化
客户介绍: 某贸易公司是一家集进出口贸易、国内贸易、电子商务等业务于一体的综合性贸易企业。公司业务遍及全球多个国家和地区,拥有庞大的供应商网络和采购需求。 添加图片注释,不超过 140 字(可选) 客户痛点&#…...
第六讲_css盒子模式
css盒子模型 1. 长度单位2. 盒子模型的组成2.1 盒子模型内容2.2 盒子模型内边距2.3 盒子模型边框2.4 盒子模型外边距 1. 长度单位 px:像素em:相对于当前元素或父元素的 font-size 的倍数 <style>.parent {height: 500px;width: 500px;background…...
【WSL】Win10 使用 WSL2 进行 Linux GPU 开发
1. GPU 驱动 先安装 驱动 参考 https://docs.nvidia.com/cuda/wsl-user-guide/index.html 使用 https://www.nvidia.com/Download/index.aspx 提供的兼容 GeForce 或 NVIDIA RTX/Quadro 显卡在系统上安装 NVIDIA GeForce Game Ready 或 NVIDIA RTX Quadro Windows 11 显示驱动…...
什么是博若莱新酒节?
在红酒圈儿里混,一定不能不知道博若莱新酒节,这是法国举世闻名的以酒为主题的重要节日之一。现已成为世界范围内庆祝当年葡萄收获和酿制的节日,被称为一年一度的酒迷盛会。 云仓酒庄的品牌雷盛红酒LEESON分享博若莱位于法国勃艮第南部&#x…...
Centos7下升级gcc/g++版本(简单 + 避坑)
在 Centos7 下,使用 yum 安装高版本的 gcc/g 最简单: yum -y install centos-release-scl yum -y install devtoolset-11-gcc devtoolset-11-gcc-c devtoolset-11-binutils需要安装哪个个版本的gcc/g,就把数字替换成对应的版本号。例如上面代…...
PyTorch项目源码学习(1)
PyTorch PyTorch是一个开源的深度学习框架,项目地址 https://github.com/pytorch/pytorch 在学术工作中的使用频率较高。 其主体由C开发,PyTorch是Torch的Python调用版本。学习PyTorch项目源代码的目的在于学习其中的实现方法与技巧,增加训练…...
adb 使用的出现 adb server is out of date. killing
我知道你们肯定看到这种播客 像这种解决问题的方法是暂时的 , 因为我们Android studio 中 , 你在查看后台的时候发现 你的Android studio 也占用了一端口 , 就是说你把 Android studio 杀掉了只要打开 Android studio 打开就还是 关闭 cmd adb 看到一个新的方法 , win 10 中…...
数据结构之二叉搜索树(Binary Search Tree)
数据结构可视化演示链接,也就是图片演示的网址 系列文章目录 数据结构之AVL Tree 数据结构之B树和B树 数据结构之Radix和Trie 文章目录 系列文章目录示例图定义二叉搜索树满足的条件应用场景 示例图 二叉 线形(顺序插入就变成了线性树,例如插入顺序为&…...
wordpress 分类不显示图片/中国疫情今天最新消息
大学计算机信息技术教程习题集U大学计算机信息技术教程一级B实战习题集南通大学教育技术中心2008.6第一部分 理论部分第一套一、基础知识必做题[1]. 在计算机中为景物建模的方法有多种,它与景物的类型有密切关系,例如对树木、花草、烟火、毛发等…...
网站制作动态/无锡网站建设公司
MFC程序的默认的标题是“无标题-title”,其中title是应用程序的名称,我们应如何修改MFC窗口标题来符合自己的要求?MFC程序的文档类中定义了一个虚函数SetTitle,用于设置窗口标题的前半部分,如果只是要修改“无标题”部分ÿ…...
网站图片列表怎么做/seo排名优化厂家
音频处理主要适用于基于声音的处理、分析和建模,而Python作为当前最流行的编程语言之一,在音频处理方面也提供了大量的库和框架,本文整理了其中12个常用音频处理库,以供学习研究之用。1、eyeD3eyeD3是一个处理音频文件的Python工具…...
网站备案后怎么做实名认证/播放量自助下单平台
在学习UCOS过程中,想通过串口中断将接收到的数据放到消息队列中去,编写代码如下:#include "led.h"#include "delay.h"#include "key.h"#include "sys.h"#include "usart.h"#include "…...
如何建设公司网站 需要注意什么/代运营公司靠谱吗
数据类型 一、整型1、BIGINT语法:BIGINT [(display_size)] [AUTO_INCREMENT] [UNSIGNED] [ZEROFILL]存储:8字节。描述:最大的整数类型,支持的整数范围是:-9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 807&…...
做电商不不得不知道的网站/合肥网站优化公司
ArrayList、List特点:查询快、增删慢 链表特点:查询慢,增删快 案例 package day29_collection集合体系;import java.util.ArrayList; import java.util.List;/** List:* 有序的(存储和读取的顺序是一致的)* 有整数…...