计算机编程基础

news2024/11/14 20:51:20

0与1的世界

计算机是由晶体管和电路板组成的电子设备。
集成电路

不论是我们微信信息的呈现、图像的储存和数字之间的运算本质上都是0和1的信息。

0、1便可以代表电压的高低、开关的闭合以及电阻的导电和不导电。 0、1表示的数字便是“逢二进一”。计算机的最小的储存单位是位(bit),其上能存储0或者1。8位(bit)等于1字节(Byte),是计算机中的数据的基本单位。

最初计算机被设计表示的时候,26个英文字母和10个数字,在加上一些符号,最接近2的7次方128,为了留取容错便设定为8位表示,也就是8位(bit)等于1字节(Byte)的由来。

我便以1个字节来演示:
为了方便计算,计算机给数字延申了不同形式的存储,原码和补码以及反码。一共8位,最初的一位代表数字的正负,0代表正数,1是负数。

数字原码反码补码
10000 00010000 00010000 0001
30000 00110000 00110000 0011
70000 01110000 01110000 0111
-31000 00111111 11001111 1101
-51000 01011111 10101111 1011

原码

原码是最便于理解的,8位的能表示的数字范围便是[-127,127]之间,虽然我们很好理解,但对于机器来说原码不能用于计算。如果出现负数便无法计算。

1 + 3 = 0000 0001 + 0000 0011 = 0000 0100 = 4
1 - 3 = 1 + (-3)= 0000 0001 + 1000 0011 = 1000 0100 = -4

反码

正数是其本身,负数是在正数的基础上各个位置取反,符号位还是1。因为0不区分正负所以反码依然满足不了计算机用于计算。

1 - 3 = 1 + (-3)= 0000 0001 + 1000 0011(原码) = 0000 0001 + 1111 1100(反码)= 1111 1101 (反码)= 1000 0010 (原码)= -2
1 - 1 = 1 + (-1)= 0000 0001 + 1000 0001(原码) = 0000 0001 + 1111 1110(反码)= 1111 1111 (反码)= 1000 0000 (原码)= -0

补码

正数是其本身,负数是在正数的基础上各个位置取反后+1,符号位还是1。

1 - 3 = 1 + (-3)= 0000 0001 + 1000 0011(原码) = 0000 0001 + 1111 1101(补码)= 1111 1110 (补码)= 1000 0010 (原码)= -2
1 - 1 = 1 + (-1)= 0000 0001 + 1000 0001(原码) = 0000 0001 + 1111 1111(补码)= 0000 0000 (补码)= 1000 0000 (原码)= 0

位移运算

>> << 这是左右位移的计算,尖括号向那边就是向那里平移,带符号位,负数向右移动,最高位补1;>>> 这个是不带符号位位移,下面的例子中位移之后按照补码计算。<<< 不存在无符号的移动

数字原码补码>>1<<1>>2<<2>>>1
10000 00010000 00010000 0000(0)0000 010(2)0000 0000(0)0000 0100(4)0000 0000(0)
30000 00110000 00110000 0001(1)0000 0110(6)0000 0000(0)0000 1100(12)0000 0001(1)
-11000 00011111 111111111 1111(-1)1111 1110(-2)11111 1111(-1)1111 1100(-4)0111 1111(127)
-31000 00111111 11011111 1110(-2)1111 1010(-6)1111 1111(-1)1111 0100(-12)0111 1110(126)

位与&、位或|、按位异或^、按位取反~

位与是二者都为1才为1;位或其中一个为1则为1;按位取反~,字面意思数字取反;按位异或^ 数字相同为0,不同为1

浮点数

计算机定义了两种小数,定点数和浮点数,定点数是小数位数和小数点固定的数字,这里我以27.8125这个小数点在计算机的储存为例子。

整数为26,二进制对应的是11011
小数部分为0.8125,计算小数的去乘以2,有1取1,否则为0,直到所有的数字为0,就是1101
合计来就是11011.1101

在java中如何储存浮点数呢?采用的科学计数法表示的。以double为例子,double是双精度浮点数,内存占8个字节,共64位,有效位数位15位。储存形式如下:

请添加图片描述

  • 符号位 0
  • 阶码位 E= e + (2^(n-1) -1) 11011.1101 = 1.10111101 * 10^4 ,此处可得到4 + (2^(n-1) -1) = 4 +1024 -1 = 1027。1027对应的2进制的数字位
  • 位数是1.10111101 忽略小数点和第一个1就是10111101
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("你好");
		String num = "+" +
				"10000000011" + 
				"1011110100000000000000000000000000000000000000000000";
		long l = Long.parseLong(num, 2);
		double d = Double.longBitsToDouble(l);
		System.out.println("long  :" + Long.parseLong(num, 2));
		System.out.println("double: " + d);
	}

在这里插入图片描述

编码格式

比较常见的编码格式:ASCII、Unicode、GBK等,ASCII码使用一字节8bit来表示,一共128个字符,第一位固定使用0显示。还制作了全世界通用的编码 unicode,UTF-8、UTF-16、UTF-32都是不同程度压缩的unicode编码。最常见的UTF-8,一个汉字使用三个字节表示。实际编程中需要注意编码不同带来的乱码。
ASCII

CPU

在这里插入图片描述

cpu是电脑的核心部件,是一块集成电路板,工艺级别在纳米,主要由基板、核心和针脚组成。基板是用来固定核心和针脚的,针脚通过基板上的基座连接电流信号。
在这里插入图片描述
控制器是CPU的核心,控制器读取存储器(寄存器)中的数据,通过运算器计算将结果储存在存储器中,目前cpu及其运算能力远大于读取内存的速度,越接近cpu读取的数据就会越快,位于cpu中L1、L2高速缓存是最接近CPU的,因此尤为重要。

TCP/IP

在这里插入图片描述
TCP是网络中传输层,IP是网络层,通过IP地址32位4个字节代表地址。类似与TCP是快递分发的,ip是具体配送的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/383002.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java如何String字符串带括号转成List

问题现象 今天在做一个需求&#xff1a;将存入数据库中的数据读到后解析成list遍历分析 数据格式&#xff1a; "[1677660600000, 1677660900000, 1677661200000]" "[5, 4, 4,3,2&#xff0c;0,0]" 我一开始想到的就是使用逗号分割即可 结果变成了这样的…

电容笔和Apple pencil有什么区别?开学季电容笔排行榜

与苹果的 Pencil相比&#xff0c;市面上常见的电容笔在压感上是没有具备重力压感&#xff0c;只具备着一种倾斜压感。对于绘画没有过高要求的话&#xff0c;其实一支普通的平替电容笔&#xff0c;就能为我们解决日常很多问题。它不仅可以用在办公上&#xff0c;也可以用在笔记、…

算法小抄3-理解使用Python容器之列表

引言 首先说一个概念哈,程序算法数据结构,算法是条件语句与循环语句组成的逻辑结构,而数据结构也就是容器. 算法决定数据该如何处理,而容器则决定如何数据如何存储. 不同的语言对容器有不同的实现方式, 但他们的功能都是相似的, 打好容器基础,你就可以在各式各样的语言中来回横…

1.Spring Cloud (Hoxton.SR10) 学习笔记—基础知识

本文目录如下&#xff1a;一、Spring Cloud基础知识什么是微服务架构&#xff1f;服务拆分 有哪些注意事项&#xff1f;什么是分布式集群?分布式的 CAP 原则&#xff1f;组件 - Spring Cloud 哪几个组件比较重要&#xff1f;组件 - 为什么要使用这些组件&#xff1f;组件 - Na…

有关白盒加密

白盒密码技术白皮书 有关白盒的概念 其实白盒黑盒之类概念其实是软件保护方面的概念&#xff0c;在很多方面都有应用&#xff0c;例如 黑盒&#xff1a; 传统的加密技术是默认假定处于黑盒中的&#xff0c;也就是假定攻击者无法获得密钥。具体而言&#xff0c;认为攻击者并…

PMP证书含金量如何,打算以后从事项目管理这一行业的有没有必要考这个证书?

建议考一个&#xff0c;虽然说这一纸证书实际不能带来多少利益&#xff0c;只是一个资格证书&#xff0c;项目管理行业入门证书&#xff0c;但是现在很多企业招聘要求中写了“有 PMP 证书”优先录取&#xff0c;还是考一个有备无患。含金量问题一直备受关注&#xff0c;总结了一…

操作系统(1.1)--引论

目录 一、操作系统的目标和作用 1.操作系统的目标 2.操作系统的作用 2.1 OS作为用户与计算机硬件系统之间的接口 2.2 OS作为计算机系统资源的管理者 2.3 0S实现了对计算机资源的抽象 3. 推动操作系统发展的主要动力 二、操作系统的发展过程 1.无操作系统的计算机系统…

Web3中文|日本元宇宙经济“狂飙”

2月27日&#xff0c;三菱、富士通和其它科技公司发布关于建立“日本元宇宙经济区”的协议&#xff0c;表示将联手从角色扮演游戏的角度创建开放的元宇宙基础设施&#xff0c;以推动日本的Web3战略。据了解&#xff0c;日本一直在努力将Web3技术纳入其国家议程&#xff0c;去年1…

规范哈夫曼编码和Deflate算法

经过常规的哈夫曼编码以后&#xff0c;我们需要将每个符号对应的码字记录下来&#xff0c;比较容易想到的是按照字母序记录每个字母的编码&#xff0c;这样的好处是字母与码字的映射关系被隐式记录&#xff1a; 假设字母表 A{a1,a2,a3,a4,a5}\mathcal{A}\{a_1,a_2,a_3,a_4,a_5\…

基于数据驱动的电动车电池数据分析(一)

基于数据驱动的电动车电池数据分析&#xff08;一&#xff09; 欢迎关注笔者的微信公众号 笔者过去一年多的时间都在国内一家头部新能源企业实习&#xff0c;主要参与一些数据分析和平台研发的工作。在工作中积累了一些数据分析的经验&#xff0c;其中新能源领域比较多的是一…

曾经被人们看成是异想天开的产业互联网,或许终将会实现

一波还未平息&#xff0c;一波又起。元宇宙的热度还未彻底散去&#xff0c;ChatGPT已经成为了名符其实的新风口。如果用一个概念来定义现在这样一个热点和风口频出的时代的话&#xff0c;我想&#xff0c;用产业互联网或许是再合适不过的了。对此&#xff0c;可能有人并不认同。…

【设计模式】21.访问者模式

概述 定义&#xff1a; 封装一些作用于某种数据结构中的各元素的操作&#xff0c;它可以在不改变这个数据结构的前提下定义作用于这些元素的新的操作。 结构 访问者模式包含以下主要角色: 抽象访问者&#xff08;Visitor&#xff09;角色&#xff1a;定义了对每一个元素&a…

Outlook邮箱登录不上?被阻止?这些方法教你解决

Outlook是微软的一款备受欢迎的应用软件&#xff0c;可以用来收发电子邮件、管理联系人信息、记日记、安排日程、分配任务等。然而最近就有很多朋友向东哥反映&#xff0c;有的时候没有办法正常登录outlook 邮箱&#xff0c;这是怎么回事呢&#xff1f;不用担心&#xff0c;今天…

揭秘可视化图探索工具 NebulaGraph Explore 是如何实现图计算的

前言 在可视化图探索工具 NebulaGraph Explorer 3.1.0 版本中加入了图计算工作流功能&#xff0c;针对 NebulaGraph 提供了图计算的能力&#xff0c;同时可以利用工作流的 nGQL 运行能力支持简单的数据读取&#xff0c;过滤及写入等数据处理功能。 本文将简单分享下 NebulaGr…

学习记录 --- Pytorch优化器

文章目录参考文献什么是优化器optimizer的定义optimizer的属性defaultsstateparam_groupsoptimizer的方法zero_grad()step()add_param_group()state_dict()、load_state_dict()优化一个网络同时优化多个网络当成一个网络优化当成多个网络优化只优化网络的某些指定的层调整学习率…

总结对Dva数据流向的简单理解

在刚刚接触Dva时&#xff0c;我最想知道的第一个问题就是&#xff1a; 1. Dva是什么&#xff1f; Dva官网文档的介绍是&#xff1a; dva 是体验技术部开发的 React 应用框架&#xff0c;将上面三个 React 工具库包装在一起&#xff0c;简化了 API&#xff0c;让开发 React 应…

[Datawhale][CS224W]图神经网络(八)

目录一、图神经网络1.1 为什么卷积神经网络 (CNN) 在图形上失败&#xff1f;1.2 一个GNN网络的结构如图&#xff1a;![在这里插入图片描述](https://img-blog.csdnimg.cn/20210606150918449.png?x-oss-processimage/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cH…

MySQL实战解析底层---事务隔离:为什么你改了我还看不见

目录 前言 隔离性与隔离级别 事务隔离的实现 事务的启动方式 前言 和数据库打交道的时候&#xff0c;总是会用到事务最经典的例子就是转账&#xff0c;你要给朋友小王转 100 块钱&#xff0c;而此时你的银行卡只有 100 块钱转账过程具体到程序里会有一系列的操作&#xff0…

高可用/性能

文章目录1.数据库系统架构发展&#xff08;1&#xff09;单库架构&#xff08;2&#xff09;主备架构&#xff08;3&#xff09;主从架构2.主从复制主从同步配置主从复制模式&#xff08;1&#xff09;异步复制&#xff08;2&#xff09;半同步复制&#xff08;3&#xff09;全…

用spectralayers 简单去一下人声做个伴奏

最近有个同事说有个工作要一个歌的伴奏不会下载问我能不能给下一个。问题是我五音不全&#xff0c;也不咋关注伴奏这方面的事儿&#xff0c;然后巧了&#xff0c;当天晚上就有个网上的大哥在群里聊天的时候说有个去人声比较给力的软件&#xff0c;我马上给要来了。 软件叫啥sp…