首页 > 其他分享 >数字电路基础(2)——数的进制

数字电路基础(2)——数的进制

时间:2023-06-06 23:46:21浏览次数:34  
标签:10 进制 十六进制 二进制 补码 数字电路 基础 十进制

本章描述我们如何从10进制的认知模式变成在2进制、16进制任意切换的模式,顺便介绍下补码等不常用的进制知识。

几种进制介绍

  • 十进制
    太简单了,不说了

  • 二进制
    有人说二进制就是0101这种只有0和1的东西,但是要完全讲清楚还是要做一系列对比的,比如十进制我们从0数到9十个数,再往后就要进位了,从一位数变成两位数10,1是高位,代表1个10,再加上0是十,所以这种十个数进一位,一个高位代表10的叫做十进制,我们平时都太习惯了,所以都没意识到这些东西。同样的道理,二进制就是两个数0、1就要进位,而10的高位1只代表2,加上低位0也只表示二的这种进制,就叫做二进制。我这样讲你懂了吗?0101b表示5。
    为什么要有二进制呢?因为我们技术不行,做出来的硅晶体只能表达出0和1两种状态,如果有一天我们技术牛了,一个元件可以表示出稳定的十六种状态,那我们的电路要换代了,变成十六进制的了->_->(事实上,SSD行业正在经历这一变化)

  • 十六进制
    我个人喜欢举一反三,那16进制啥意思你能自己推出来不?不会?看看上面一段,0到。。呃9往后怎么表示,10 11吗?这样就变成两位数了,不行,那我们用A B C D表示吧,那就是0到E一共16个数才进位,高位1表示16个的进制。0x11或者11h表示17。
    为什么有十六进制啊?因为我们觉得二进制太长了,写代码也好,写文章也好很不方便,比如二进制11010100010101011101010100011011用十六进制表示才0xD455D51B这么短,神奇不?

  • 八进制
    同上,就说下写法是后面带个o,比如11o表示9

进制的转换

进制的转换一般就是十进制转某个进制或者某个进制转十进制,很少非十进制之间互转的。二进制转换的诀窍如下:
1111 对应的每位1分别代表十进制的 8 4 2 1,记住这四个数字二进制随便转,比如1011 是 8 + 2 + 1 = 11

十六进制在转换上没什么诀窍,唯一需要训练熟练的就是随便给出A~E中的一个字母,你能瞬间反应出来它是几:
A-10 B-11 C-12 D-13 E-14 F-15,至于数字的转换,因为十六进制比较大,我也做不到口算,比如0xfeac是多少,我口算是算不出来的,不过,我有个任何教科书都不会讲的终极大绝招,那就是:

digit_course_decimal_calc

他就是我们windows自带的计算器,在开始菜单输入计算器调出,点击查看-程序员,就可以切换到这个模式,选择左边的进制按钮,输入你要转换的数字,然后点击切到另一个进制,计算器会帮你完成计算,有了它你就可以无往不胜,所向披靡。

什么?你说这种不用笔算的是没有灵魂的?快忘了你考试的那一套吧,现在写个代码谁还没有电脑来着。

其他不常用知识

不常用就是说不常用,就是说你不看也可以,用到了临时Google就行,比如:补码、反码、补码运算,它们是为了在设计CPU的时候简化电路的目的设计的,你不涉及这么底层可能永远都遇不到。

那补码和反码是什么呢?

我都说不常用了你还指望我讲?其实我也不会!


那接下来,我们抓紧进入下一节:《数字电路基础(3)——逻辑运算》,你得知道1+1等于几?

标签:10,进制,十六进制,二进制,补码,数字电路,基础,十进制
From: https://www.cnblogs.com/tanxiaoyao/p/17462079.html

相关文章

  • 数据结构与算法分析(Java语言描述)(16)—— 二叉搜索树基础、节点插入、查找
    基础//二叉搜索树//由于Key需要能够进行比较,所以需要extendsComparable<Key>publicclassBinarySearchTree<KeyextendsComparable<Key>,Value>{//树中的节点为私有的类,外界不需要了解二叉搜索树节点的具体实现privateclassNode{privateKeykey;......
  • Spring 学习笔记(12)—— AOP 基础
    AOP到底是什么AOP术语创建增强类......
  • JavaWeb基础(5)—— 浅析 Servlet 与 JSP 两者之间的区别
    维基百科中JSP的定义JSP(全称JavaServerPages)是一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。JSP使Java代码和特定的......
  • Web安全-渗透测试-基础知识04
    Web源码WEB源码在安全测试中是非常重要的信息来源,可以用来代码审计漏洞也可以用来做信息突破口,其中WEB源码有很多技术需要简明分析。比如:获取某ASP源码后可以采用默认数据库下载为突破,获取某其他脚本源码漏洞可以进行代码审计挖掘或分析其业务逻辑等,总之源码的获取将为后期的安......
  • 八进制转换为十进制
    八进制转换为十进制#include<stdio.h>#include<math.h>longlongconvertOctalToDecimal(intn);intmain(){intn;printf("输入一个八进制数:");scanf("%d",&n);printf("八进制数%d转换为十进制位%lld",n,convertOctalT......
  • 十进制转换为八进制
    十进制转换为八进制#include<stdio.h>#include<math.h>intconvertDecimalToOctal(intn);intmain(){intn;printf("输入一个十进制数:");scanf("%d",&n);printf("十进制数%d转换为八进制位%lld",n,convertDecimalToOct......
  • [记]Rust结构体转换为二进制数据
    这个函数可以直接读取或者转化为二进制数据,适用于系统编程;usestd::mem;structTestdata{ucc:u8,udd:u8,}fnmain(){letddd=Testdata{ucc:2,udd:9};unsafe{letuu16:u16=mem::transmute_copy(&ddd);println!("{}",uu16%256);......
  • 16进制透明度
     16进制透明度100%—FF99%—FC98%—FA97%—F796%—F595%—F294%—F093%—ED92%—EB91%—E890%—E689%—E388%—E087%—DE86%—DB85%—D984%—D683%—D482%—D181%—CF80%—CC79%—C978%—C777%—C......
  • JAVA学习笔记基础篇_02
    ------------恢复内容开始------------#java高级应用1.补充当方法中不存在与对象相关的方法时比如直接的数字计算输出等都可以写成静态方法集合成一个工具类1.类变量与类方法(静态变量/静态方法)也就是记录变量和方法的使用次数,每次随着类的生成而生成随着类的......
  • 【网络基础】【HTTP】如何理解是 TCP 面向字节流协议?
    1  前言TCP是面向字节流的协议,UDP是面向报文的协议?这里的「面向字节流」和「面向报文」该如何理解。我们这节来看看哈。2  如何理解字节流?之所以会说TCP是面向字节流的协议,UDP是面向报文的协议,是因为操作系统对TCP和UDP协议的发送方的机制不同,也就是问题原因在发......