进制转化、逻辑运算、简单案例
文章目录
- 进制之间的转化
- 十进制转二进制
- 二进制转十进制
- 十进制转十六进制
- 十六进制转十进制
- 二进制转十六进制
- 十六进制转二进制
- 与或非逻辑运算
- 二进制之间的与或非
- 十六进制之间的与或非
- 简单的单片机案例
- 原理图
- 一个LED闪烁案例
- 从高位起点亮第1、3、5、7个LED
2022/01/15
进制之间的转化
十进制转二进制
方法一:除二取余 对所求的数不断进行除以二再取余数的运算,直到出现商小于二为止,最后将余数倒序排放。
示例:
我们将10用短除法不断进行取余 最后将所得的余数从下往上排放可以得到 1010 即10的二进制数为 0b1010。方法二:按权重计算 即按 …… 23 22 21 20 凑出相应十进制数
示例:同样拿10来进行运算
在8421中我们可以得到 10=1x8+0x4+1x2+0x1 所以 10的二进制数为 0b1010。
二进制转十进制
方法一:乘二加余 通过对已知二进制数不断进行乘二加余运算,直到已知二进制数中所有数字全部用完
示例:
0b1011 1x2+0=2 、 2x2+1=5 、 5x2+1=11 即 0b1011 为十进制 11。
方法二:按权重计算 即将二进制数中1对应的权重相加计算结果
示例:
8+0+2+1=11 即 0b1011 转为十进制为11
十进制转十六进制
- 方法:除十六取余 对所求的数不断进行除以十六再取余数的运算,直到出现商小于十六为止,最后将余数倒序排放
(参考十进制转二进制的方法一) - 在十六进制中 A-F 代表 10-15
十六进制转十进制
- 方法:乘十六加余 通过对已知十六进制数不断进行乘十六加余运算,直到已知十六进制数中所有数字全部用完
(参考二进制转十进制的方法一)
二进制转十六进制
- 方法:将二进制分为四位一组(从右边分组,左边少数时补0),将每组转化成十进制,再将十进制转化为十六进制。
示例:将 0b1101010 转化为十六进制
0b1101010 分为两组时少一位,故将左端补0得到 0b01101010 将其分成两组 0110 1010 第一组为十进制6 第二组为十进制10 即第一组为十六进制6 第二组为十六进制 A 所以结果为 0x6A
十六进制转二进制
- 方法:将每个十六进制数摘出,转化为十进制,再将十进制转化成二进制。
示例:将 0x4f 转化成二进制
0x4f 单独摘出为 4 和 f 转化成十进制为 4 和 15 ,将其转化成二进制为 0100 1111 所以结果为 0b01001111
为加速计算,可直接背诵下列表格:
十六进制 0x | 二进制 0b | 十六进制 0x | 二进制 0b |
---|---|---|---|
0 | 0000 | 8 | 1000 |
1 | 0001 | 9 | 1001 |
2 | 0010 | a | 1010 |
3 | 0011 | b | 1011 |
4 | 0100 | c | 1100 |
5 | 0101 | d | 1101 |
6 | 0110 | e | 1110 |
7 | 0111 | f | 1111 |
与或非逻辑运算
二进制之间的与或非
与运算:符号 & 0与任何数为0 1与1为1 类似于乘法
数字1 | 数字2 | 结果 |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
或运算:符号 | 1或任何数为1 0或0为0 类似于加法
数字1 | 数字2 | 结果 |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
非运算:符号 ~ 对原来数取反 1成为0 0成为1
原数 | 结果 |
---|---|
0 | 1 |
1 | 0 |
十六进制之间的与或非
- 方法:转换为二进制按位运算
示例: 0xa5 & 0x86
将两者分别转换成二进制可以得到 10100101 和 10000110 再将两者挨位运算可以得到 10000100
简单的单片机案例
原理图
- 导线终端字母相同代表这两根导线是相通的。
- 如想快速知道某一导线另一端与何处相连可用 Ctrl+f 进行搜索。
- 单片机有 P0 P1 P2 P3 四组io口,每组里面又有 0-7 八个io口。
一个LED闪烁案例
#include <reg52.h> //reg52头文件中包含寄存器地址sbit led=P2^0; //将P2组的第一个io口定义为ledvoid main()
{led=1; //使led输出高电平int a;while(1) //等效于 while(ture) 程序会在此一直循环{led=~led; //对led当前电平进行取反 使P2^0口输出高低交替的电平a=60000;while(a--);}
}
从高位起点亮第1、3、5、7个LED
#include <reg52.h>void main()
{P2=0x55; // 0101 0101 即点亮P2组的第 1 3 5 7 个led (由原理图可知 当输出为低电平时led发光)while(1);
}
进制转化、逻辑运算、简单案例相关推荐
- 对于十进制转化为任意进制数的简单算法分析
对于十进制转化为任意进制数的简单算法分析 基本思路: 对于十进制转任意进制,通常都是通过取余逆序排列法获得结果,举个简单例子10进制数1024 转2进制: 1024/2=512 余->0 512 ...
- 用递归实现简单的进制转化器(模块化设计):学习递归题型之一
引言: 在阅读C Primer Plus时,我发现一个非常有意思的将十进制转化二进制的方法,我通过逻辑推理,将十进制转化为八进制以及十六进制的方法类比了出来:在此处呢,我将用递归实现对十进制转化为三种 ...
- python字符串格式化、运算符优先级、进制转化、编码回顾
python基础 1.字符串格式化 1.1 % 1.1.1 %s 1.1.2 N个占位符 1.1.3 %d 1.1.4 百分比 %% 1.2 format 1.3 f 2.运算符优先级 2.0 逻辑运 ...
- 【PAT - 甲级1010】Radix (25分)(二分,进制转化)
题干: Given a pair of positive integers, for example, 6 and 110, can this equation 6 = 110 be true? Th ...
- 进制转化进10进制数
Option Explicit Private Sub Form_Click() Dim St As Integer, Dem As Long St=InputBox("输入一个十六进制数& ...
- 将最大位1000位的16进制转化位8进制(蓝桥杯)
用c++实现将最大位1000位的16进制转化成8进制(## 蓝桥杯) 题目 先将16进制转化成二进制在将其转化成八进制 代码如下(示例): ```cpp #include <bits/stdc+ ...
- 计算机基础 进制转化,计算机基础知识_进制转化(示例代码)
进制转化 一.任何一个进制转化为10进制的方式 156的十进制可以看做1*10^2 + 5*10^1 + 6*10^0 首先我们看一下156 ,平方,次方等等都是根据后面有多少位决定的,如果用计 ...
- 计算机组成原理——基本组成 进制转化 奇偶校验 原码 反码 补码 移码 移位 原码补码乘法除法 IEEE754 加法器ALU
笔记来源于王道考研视频 第一章 通过电信号传递信息(低电平代表0,高电平代表1) 计算机系统 计算机系统=硬件+软件 软件 系统软件 应用软件 操作系统,数据库管理系统(DBMS),标准程序库(编程时 ...
- 编码/解码和进制转化工具hURL
编码/解码和进制转化工具hURL 在安全应用中,各种编码方式被广泛应用,如URL编码.HTML编码.BASE64等.而在数据分析时候,各种进制的转化也尤为频繁.为了方便解决这类问题,Kali Linu ...
- ASP常用进制转化类(2,8,10,16,32,64)
<% ' 名称:HDOBTools ' 描述:进制转化类 ' 作用:用于各种进转的转化 Class HDOBToolsPrivate hdobHackPrivate Sub Class_Init ...
最新文章
- 洛谷 P1142 轰炸
- 谷歌排名第一的编程语言,死磕它这两点,小白也能学的会!不信你看!
- PC 时代旧神隐没,互联网的新二十年开始了
- eBay是如何进行大数据集元数据发现的
- html标签在html页面正常显示而不被解析
- centos中python报错 SyntaxError: Non-ASCII character ‘\xe7‘ in file car-training.py on line 7, but no en
- imx6q 开发板_mplayer移植-迅为IMX6Q开发板
- node --- 连接mysql(docker环境) Sequelize库
- 大数据认知计算在内容安全管控中的应用
- 作者:孙卫强,博士,上海交通大学教授、博士生导师。
- VBA_输出SQL查询数据
- python大数据处理mapreduce_使用python构建基于hadoop的mapreduce日志分析平台
- 来瓶82年拉菲压压惊
- Trying to create too many scroll contexts. Must be less than or equal to: [20000]
- 小米红米有锁机如何刷机升级MIUI12.5系统-完美解锁机刷机教程
- 在遇到移动硬盘无法访问的情况下,如何无需格式化地修复硬盘?
- c++11 std::decay源码剖析
- SPDA-CNN:Unifying Semantic Part Detection and Abstraction for Fine-grained Recognition
- Unity精华☀️二、到底是什么原因导致“万向锁”?旋转翻车的终极解析!
- .net 操作达梦数据库
热门文章
- cookie访问历史记录
- K8S更换控制面节点
- String类 常用方法案例
- asp.net2.0自动根据用户自定义字数生成带分页的静态(HTML)页
- 同花顺中如何自定义函数
- python协程是什么_在python中线程和协程的区别是什么
- 【2】CentOS-8.4.2105-x86_64的下载说明与安装
- 无论 iPhone 还是 Android 手机,散热已成为「最大瓶颈」
- C++学习(四):Facebook 的 C++ 11 组件库 Folly Futures
- 个人博客的运营模式能否学习TMALL天猫质量为上?