二,八,十,十六进制等常用进制详解

总目录


文章目录

  • 总目录
  • 一、常用进制
    • 1、进制基本信息
    • 2、各进制的表示形式
  • 二、进制转换原理
    • 1、其他进制转为十进制计算原理
    • 2、十进制转为其他进制计算原理
    • 3、二进制,八进制,十六进制之间的转换
  • 结语


一、常用进制

1、进制基本信息

基数数码名称描述
20 和 1二进制逢二进一,几乎所有的电子计算机内部都使用二进位制,分别为“0”和“1”表示“关”和“开”。
80 - 7八进制逢八进一,偶尔用于计算机领域,2到3次幂。八位数字为“0-7”。
100 - 9十进制逢十进一,世界上最常见的算术运算位进制系统,十位数字为 “0-9”
160-9 + A-F十六进制逢十六进一,经常用于计算机领域。十六位数字为“0-9”,接着是“A-F”(小大写均可)。

2、各进制的表示形式

对于进制的表示,编程语言基本上都提供了特殊前缀表示不同进制的数字。

为啥要区分表示呢?就比如说我写个数字111 要是我不告诉你他是什么进制的,你如何知道你真实表示的值呢?

不同的编程语言与编译器都会有自己的一套表示方式,在C#中数字的进制表示形式如下:

  • 二进制由 0 和 1 两个数字组成,使用时必须以0b或0B(不区分大小写)开头,例如:
//合法的二进制
int a = 0b101;  //换算成十进制为 5
int b = 0B100001;  //换算成十进制为 33

Console.WriteLine(a); //5
Console.WriteLine(b); //33
//非法的二进制
int c = 101010;  //无前缀 0B,相当于十进制
int d = 0B410;  //4不是有效的二进制数字

  • 八进制由 0~7 八个数字组成,使用时必须以0开头(注意是数字 0,不是字母 o),例如:
//合法的八进制数
int a = 015;  //换算成十进制为 13

//非法的八进制
int m = 256;  //无前缀 0,相当于十进制
int n = 03A2;  //A不是有效的八进制数字
  • 十进制数字则没有特殊前缀,直接输入数字即可。

  • 十六进制由数字 0~9、字母 A~F 或 a~f(不区分大小写)组成,使用时必须以0x或0X(不区分大小写)开头,例如:

//合法的十六进制
int a = 0X2A;  //换算成十进制为 42
int b = -0XA0;  //换算成十进制为 -160
int c = 0xffff;  //换算成十进制为 65535

Console.WriteLine(a);// 42
Console.WriteLine(b);// -160

//非法的十六进制
int m = 5A;  //没有前缀 0X,是一个无效数字
int n = 0X3H;  //H不是有效的十六进制数字

在这里插入图片描述
该图是Windows系统中,自带的计算器,HEX表示16进制,DEC表示10进制,OCT表示8进制,BIN表示2进制,后续在编程的时候命名各类进制的变量有一定的参考意义

二、进制转换原理

不管什么进制,都是一种计数形式,原理上都是相同的:x进制 就是 逢x进一。

这部分内容:主要是学习了抖音博主【小飞有点东西】后自行编写。

1、其他进制转为十进制计算原理

  • 以十进制为例,十进制有 0 - 9 共计10个数字,我们通过实际案例计算过程理解一下其中原理

在这里插入图片描述
由上可知(上述过程相当于“10进制转10进制”):
当我们是10进制的时候,那么底数为10 ,次方数 从0开始
个位数 就是 个位数字 乘以 10 的 0 次方,依次类推,然后将 各位数 计算的结果相加 就是最终结果

  • 根据10进制计算原理,我们计算二进制转十进制

在这里插入图片描述

  • 八进制转为 十进制

在这里插入图片描述

  • 十六进制转为 十进制
    在这里插入图片描述

2、十进制转为其他进制计算原理

十进制转化为其他进制 主要是通过【连除法】

  • 十进制转为 二进制

在这里插入图片描述

  • 十进制转为 八进制

在这里插入图片描述

  • 十进制转为 十六进制

在这里插入图片描述

3、二进制,八进制,十六进制之间的转换

  • 由于2的3次方=8,因此每3位二进制可以转换为1位八进制
  • 由于2的4次方=16,因此每4位二进制可以转换为1位16进制

在这里插入图片描述

2进制与16进制 相互转换同理:

  • 2 =>16 是每4位二进制一组,然后将4位计算的结果拼起来 就是 16进制的结果
  • 16=>2 是将16进制的每个数字,分别进行2的连除,连除得到的结果,不足4位二进制的,前面用0补足,然后 拼起来即可

结语

以上就是本文的内容,希望以上内容可以帮助到您,如文中有不对之处,还请批评指正。


参考文档:
C语言中的二进制、八进制和十六进制的表示

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++】| C/C++内存管理

前言: 在上期,我们已经对类和对象的全部知识进行了总结和梳理。在类和对象学习完之后,今天我将给大家呈现的是关于——C/C内存管理的基本知识。 本文目录 1. C/C内存分布 2. C语言中动态内存管理方式 (1)C语言跟内…

php科研项目申报审批系统

目 录 1 绪论 4 1.1 开发背景 4 1.2 开发意义 4 1.3 相关知识介绍 4 1.3.1 Apache 4 1.3.2 MySQL 5 1.3.3 PHP 6 1.3.4 Dreamweaver CS3 7 1.4 本文所做的工作及组织结构 7 2 系统分析 7 2.1 需求分析 7 2.2 可行性分析 7 2.3 系统界面…

CSDN博客专家证书发放名单(2023年3月已更新)

目录 证书发放频次 6月(第一批)证书发放名单(80位) 7月(第二批)证书发放名单(50位) 8月(第三批)证书发放名单(54位) 9月&#xf…

2个月月活突破1亿,增速碾压抖音,出道即封神的ChatGPT,现在怎么样了?ChatGPT它会干掉测试?

从互联网的普及到智能手机,都让广袤的世界触手而及,如今身在浪潮中的我们,已深知其力。 前阵子爆火的ChatGPT,不少人保持观望态度。现如今,国内关于ChatGPT的各大社群讨论,似乎沉寂了不少,现在…

Prometheus监控实战之Exporter详解

1 exporter是什么? 广义上向prometheus提供监控数据的程序都可以成为一个exporter的,一个exporter的实例称为target, exporter来源主要2个方面,一个是社区提供的,一种是用户自定义的。 2 常用exporter 官方和一些社区提供好多ex…

彻底关闭Windows自动更新

彻底关闭Windows自动更新 目录 彻底关闭Windows自动更新 前言 Windows10彻底关闭自动更新方法步骤: 一、禁用Windows Update服务 二、在组策略里关闭Win10自动更新相关服务 三、禁用任务计划里边的Win10自动更新 四、在注册表中关闭Win10自动更新 前言 我们用…

易语言支持库配置闪退丨支持库配置崩溃_易语言打开支持库配置就闪退怎么办?

易语言支持库配置闪退打不开怎么办? 易语言支持库配置闪退解决方法丨支持库配置崩溃_易语言打开支持易语言支持库配置闪退丨支持库配置崩溃_易语言打开支持库配置就闪退怎么办? 很多人都遇到过 打开易语言支持库安装菜单报错退出的问题 今天教大家解决方法 我们…

4.2--Redis总结之高可用篇(关于哨兵机制)---(温故而知新篇)--加油呀

1.为什么要有哨兵机制? 在 Redis 的主从架构中,由于主从模式是读写分离的,如果主节点挂了,那么将没有主节点来服务客户端的写操作请求,也没有主节点给从节点进行数据同步了 哨兵机制,它的作用是实现主从节…

spring集成mybaits以注解方式完成连表查询练习

题目: 以注解的方式完成连表查询 1、查询全部员工信息,要求显示部门名称 2、根据姓名模糊查询员工信息 自己看完,建一个简单的员工表和部门表。 1、先创建一个maven模块,这里直接建的普通…

SpringMVC --- 获取请求参数、域对象共享数据、视图

一、SpringMVC获取请求参数 1.1、通过ServletAPI获取 将 HttpServletRequest 作为控制器方法的形参,此时 HttpServletRequest 类型的参数表示封装了当前请求的请求报文的对象 RequestMapping("/param/servletAPI")public String getParamByServletAPI(H…

从零开始实现一个C++高性能服务器框架----配置模块

此项目是根据sylar框架实现,是从零开始重写sylar,也是对sylar丰富与完善 项目地址:https://gitee.com/lzhiqiang1999/server-framework 简介 项目介绍:实现了一个基于协程的服务器框架,支持多线程、多协程协同调度&am…

【C++】多态(下)

文章目录1.单继承中的虚函数表整体代码用程序打印虚表如何寻找到虚表地址虚表存在哪里?2.多继承中的虚函数表整体代码寻找虚表地址注意事项多继承重写后的func1的地为什么地址不同?ptr1调用函数——一次jmpptr2 调用函数——多次jmp1.单继承中的虚函数表…

window环境 python ide 安装教程分享

一、 右键-以管理员身份运行 python.exe(以安装 3.8 的为例,安 装方法是一样的哈) 二、选择你的安装方式。 特别注意:需要把 Add Python ** to PATH 勾选上 ②Customize installation 是自定义安装,安装位置你可以自己…

链表【左程云:Java】

一、单链表 1.单链表的节点结构 2.反转单向和双向链表 2.1 反转单向 package leetcode.链表;/*** author lin* creat 2022--12--12:50** https://leetcode.cn/problems/reverse-linked-list/*/ public class $_206反转链表 {public class ListNode {int val;ListNode next;L…

基于VHDL语言的汽车测速系统设计_kaic

摘 要 汽车是现代交通工具。车速是一项至关重要的指标。既影响着汽车运输的生产率,又关乎着汽车行驶有没有超速违章,还影响着汽车行驶时人们的人身安全。而伴随着我国国民的安全防范意识的逐步增强,人们也开始越来越关心因为汽车的超速而带来的极其严重…

一份sql笔试

1、 select substr(time,1,10),count(order_id),count(distinct passenger_id) from order where substr(time,1,7)2023-08 group by substr(time,1,10) order by substr(time,1,10);2、 select city_id from (select * from order where substr(time,1,7) 2022-08) t1 left j…

【新2023Q2押题JAVA】华为OD机试 - 打折买水果

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧本篇题解:打折买水果 题目 有 m m m…

Spring之属性填充

Spring给属性的方式一般有三种 1、通过在属性的添加Autowired注解 Component public class UserService {Autowiredprivate OrderService orderService;public void setOrderService(OrderService orderService) {this.orderService orderService;}public OrderService getO…

b站第一,Python自动化测试实战详细教学,3天教你学会自动化测试

目录 简介 Python自动化测试概述 Python自动化测试目标 Python自动化测试流程 1. 测试计划和设计 2. 测试脚本开发 3. 测试执行和管理 4. 测试维护和优化 Python自动化测试最佳实践 Python自动化测试工具和框架 结论 简介 自动化测试是软件开发过程中一个必不可少的…

【Django 网页Web开发】22. 实战项目:简单的文件上传(15)(保姆级图文)

目录实现效果1. url.py2. upload_list.html3. upload.py总结欢迎关注 『Django 网页Web开发』 系列,持续更新中 欢迎关注 『Django 网页Web开发』 系列,持续更新中 实现效果 1. url.py path(upload/list/, upload.upload_list),2. upload_list.html {% e…