当前位置: 首页 > news >正文

四大进制--详解--以及进制转换规则

  • 进制介绍
    对于整数, 有四种表达方式:
  1. 二进制BIN: 0,1 , 满2进1.以0b或0B开头

所谓2进制就是使用0和1来表示一个数, 满2进1如果在开发中看到有这种写法: int n1 = 0b1010; 这种写法没有错, 这是二进制的一种表示方式

  1. 十进制DEC: 0-9, 满10进1

十进制就是0-9来表示一个数, 满10进1

  1. 八进制OCT: 0-7, 满8进1. 以数字0开头表示.

比如 int n3 = 01010; 代表它是用八进制来表示一个数的

  1. 十六进制HEX: 0-9及A(10)-F(15), 满16进1. 以0x或0X开头表示. 此处的A-F不区分大小写.

十六进制它是用0-9以及A(10)-F(15)来表示一个数的, 以0x或0X开头表示 比如A表示10, B表示11, C表示12, D表示13, E表示14, F表示15, 到了15过后16就没有了因为它满16进1

  • 举例说明
        int n1 = 0b1010; //二进制的表示方式int n2 = 1010; //十进制int n3 = 01010; //八进制int n4 = 0x10101; //0X10101 十六进制System.out.println("n1 =" + n1);System.out.println("n2 =" + n2);System.out.println("n3 =" + n3);System.out.println("n4 =" + n4);
  • 进制的图示
十进制十六进制八进制二进制
0000
1111
22210
33311
444100
555101
666110
777111
88101000

进制转换(基本功)

  • 进制转换介绍

第一组

  1. 二进制转十进制

规则:

从最低位(右边)开始, 将每个位上的数提取出来, 乘以2的(位数-1)次方, 然后求和.

案例:请将 0b1011 转成十进制的数
0b1011 = 1 * 2的(1-1)次方 + 1 * 2 的(2 - 1)次方 + 0 * 2的(3-1)次方 + 1 * 2的(4-1)次方 = 1 + 2 + 0 + 8 = 11

  1. 八进制转十进制

规则:

从最低位(右边)开始, 将每个位上的数提出来, 乘以8的(位数-1)次方,然后求和.

案例: 请将 0234 转成 十进制的数
0234 = 4 * 8 ^ 0 + 3 * 8 ^ 1 + 2 * 8^2= 4 + 24 + 128 = 156

  1. 十六进制转十进制

规则:

从最低位(右边)开始, 将每个位上的数提取出来, 乘以16的(位数-1)次方, 然后求和

案例: 请将 0x23A 转成 十进制的数
0x23A = 10 * 16^0 + 3 * 16 ^ 1 + 2 * 16 ^ 2 =10 +48 + 64 + 512 = 570


第二组

  1. 十进制转二进制

规则:

将该数不断除以2, 直到商为0为止, 然后将每步得到的余数倒过来, 就是对应的二进制

案例: 请将 34 转成 二进制的数

34 = 34 ➗ 2 = 17 余数为 0 再将 17 ➗ 2 = 8 余数为1 再将 8 ➗2 = 4 余数为0 再将 2 除以 2 商1 余数为 0 然后反过来 为 = 0B100010 , 她一共有6位但是我们一个字节是我们存储的基本单位一个字节有8位所以在这里0B后还要再加两个0, 最终得到的二进制为0B00100010

  1. 十进制转八进制

规则:

将该数不断除以8, 直到商为0为止, 然后将每步得到的余数倒过来, 就是对应的八进制

案例: 请将 131 转成 八进制的数

131 ➗8 商为 16 余数为 3 , 再 ➗8 , 16 ➗ 8 商为 2 余数为0 最后得到的8进制的数为 0203

  1. 十进制转十六进制

规则:

将该数不断除以16, 直到商为0为止, 然后将每步得到的余数倒过来, 就是对应的十六进制

案例: 请将 237转成 十六进制的数

237➗16 商为 14 在16进制里 14对应的字母是E 余数为 13 , 在 16 进制里 13对应的字母是 D ,所以说结果是 0xED


第三组

  1. 二进制转八进制

规则:

从低位开始, 将二进制数每三位一组, 转成对应的八进制数即可.

案例: 请将 0b11010101 转成 八进制的数

每三个一组 101(5) => 为什么是5? 因为第一个1代表1 , 第二个1代表2, 第三个1代表四所以4加一等于五

010(2) => 0就是0 1为2 再一个0还是0所以为2

11(3)

结果为 0325

  1. 二进制转十六进制

规则:

从低位开始, 将二进制数每四位一组, 转成对应的十六进制数即可.

案例: 请将 0b11010101 转成 十六进制的数

每四个一组 0101(5) => 0x

1101(13) => 13为D 所以 1101(D)

11(3)

结果为 0325


第四组

  1. 八进制转二进制

规则:

将八进制数每1位, 转成对应的3位的一个二进制数即可.

案例: 请将 0237 转成 二进制的数

02(010)3(011)7(111) = 0b10011111

  1. 十六进制转二进制

规则:

将十六进制数每1位, 转成对应的4位的一个二进制数即可.

案例: 请将 0x23B 转成 二进制的数

0x2(0010)3(0011)B(1011) = 0b001000111011

相关文章:

四大进制--详解--以及进制转换规则

进制介绍 对于整数, 有四种表达方式: 二进制BIN: 0,1 , 满2进1.以0b或0B开头 所谓2进制就是使用0和1来表示一个数, 满2进1如果在开发中看到有这种写法: int n1 0b1010; 这种写法没有错, 这是二进制的一种表示方式 十进制DEC: 0-9, 满10进1 十进制就是0-9来表示一个数, 满10进…...

谈谈API和人工智能领域的开发和使用以及AI大模型开发进程。

API,全称为Application Programming Interface,即应用程序编程接口,是一些预先定义的函数。 它的主要目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而无需访问源码,或理解内部工作机制的细节。API函数包含在操作系统的动态连接库文件中,例如Win…...

用Python Pygame做的一些好玩的小游戏

有些游戏的代码比较长就不公布了 1.简简单单 1.疯狂的鸡哥 你要准备的图片: 命名为:ji.png 代码: import pygame import random as r pygame.init() pygame.display.set_caption(aaa) pm pygame.display.set_mode((800,600))class Ls(py…...

【吊打面试官系列】Java高并发篇 - ThreadLocal 是什么?有什么用?

大家好,我是锋哥。今天分享关于 【ThreadLocal 是什么?有什么用?】面试题,希望对大家有帮助; ThreadLocal 是什么?有什么用? ThreadLocal 是一个本地线程副本变量工具类。主要用于将私有线程和该…...

Spring MVC的数据转换及数据格式化:java 转换器接口(将一种类型的对象转换为另一种类型及其子类对象)

文章目录 引言I 将String转为BaseEnum的子类对象1.1 注册转换器工厂1.2 实现转换器工厂1.3 实现转换器接口 `interface Converter<S, T> `1.4 根据枚举code和type获取枚举II 枚举2.1 枚举接口2.2 枚举子类2.3 请求实体引言 Spring MVC的数据转换及数据格式化 应用场景:…...

【开源】多语言大型语言模型的革新:百亿参数模型超越千亿参数性能

大型人工智能模型&#xff0c;尤其是那些拥有千亿参数的模型&#xff0c;因其出色的商业应用表现而受到市场的青睐。但是&#xff0c;直接通过API使用这些模型可能会带来数据泄露的风险&#xff0c;尤其是当模型提供商如OpenAI等可能涉及数据隐私问题时。私有部署虽然是一个解决…...

DDL—表—数据类型—日期时间类型相关语法

&#xff08;1&#xff09;表格如下&#xff1a; 类型大小范围格式描述DATE31000-01-01 至 9999-12-31YYYY-MM-DD日期值&#xff08;年月日&#xff09;TIME3-838:59:59 至 838:59:59HH:MM:SS时间值或持续时间&#xff08;时分秒&#xff09;YEAR11901 至 2155YYYY年份值DATET…...

Ant Design pro 6.0.0 搭建使用以及相关配置

一、背景 在选择一款比较合适的中台的情况下&#xff0c;挑选了有arco design、ant design pro、soybean、vue-pure-admin等中台系统&#xff0c;经过筛选就选择了ant design pro。之前使用过arco design 搭建通过组件库拼装过后台管理界面&#xff0c;官方文档也比较全&#…...

Vue生命周期钩子是如何实现的

Vue的生命周期钩子是在Vue组件创建、挂载、更新、销毁等过程中自动调用的特殊函数。这些钩子允许开发者在组件的不同阶段执行特定的逻辑。Vue 2 和 Vue 3 在生命周期钩子上有一些差异&#xff0c;主要是因为Vue 3引入了Composition API和更现代的JavaScript特性。 Vue 2 的生命…...

002 仿muduo库实现高性能服务器组件_整体框架

​&#x1f308;个人主页&#xff1a;Fan_558 &#x1f525; 系列专栏&#xff1a;仿muduo &#x1f339;关注我&#x1f4aa;&#x1f3fb;带你学更多知识 文章目录 前言项目框架小结 前言 本文不会包含任何项目模块的代码&#xff0c;旨在向你介绍项目具体分为哪几个模块&am…...

车道线识别与预警系统LDWS(代码+教程)

车道线识别与预警系统&#xff08;Lane Departure Warning System, LDWS&#xff09;作为智能交通系统中的重要组成部分&#xff0c;旨在通过先进的图像处理和计算机视觉技术&#xff0c;实时监测车辆行驶过程中的车道位置&#xff0c;预防因驾驶员疏忽或疲劳导致的车道偏离事故…...

Python基础学习笔记(七)——元组

目录 一、一维元组的介绍、创建与修改二、组合的基本操作1. 遍历2. 取长度3. 取最值4. 打包5. 批处理5.1 map()函数5.2 lambda 表达式5.3 lambda 表达式 map()函数 一、一维元组的介绍、创建与修改 元组&#xff08;tuple&#xff09;&#xff0c;一种不可变、有序、可重复的数…...

安卓开发:相机水印设置

1.更新水印 DecimalFormat DF new DecimalFormat("#"); DecimalFormat DF1 new DecimalFormat("#.#");LocationManager LM (LocationManager)getSystemService(Context.LOCATION_SERVICE); LM.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2…...

Excel工作表单元格单击选中事件,VBA动态数值排序

Excel工作表单元格单击选中事件,VBA动态数值排序(WX公众号:Excel潘谆白说VBA) 文章目录 前言一、运行效果二、代码前言 面对每月的消费账单,面对月底待还的信用卡或花呗,面对不足三位数的余额,你是否怀疑过账单自己的消费。你是否因此开始记账,每个月记流水,想知道当月…...

数据结构~~链式二叉树

目录 一、基本概念 链式存储概念 二、链式二叉树的结构 链式二叉树结构 构建链式二叉树 二叉树的遍历 二叉树节点和高度等 二叉树销毁 三、链式二叉树的练习 相同的树 对称二叉树 另外一颗子树 二叉树前序遍历 二叉树遍历 四、完整代码 Tree.h Tree.c 五、总结 一…...

线程池,日志

所要用到的知识点&#xff1a; 多线程的创建 生产消费模型&#xff0c; 线程锁 条件变量 代码&#xff1a; 线程池日志...

vue的图片上传

关于vue3的图片上传&#xff0c;这里记录一下&#xff0c;有兴趣的朋友可以参考。。。。 <van-uploader:after-read"afterRead"v-model"headImg":max-count"1"class"picture"/> const fileList ref();const afterRead (fil…...

题解 P1150

题解 P1150 因为k个烟蒂1根烟1个烟蒂 所以k-1个烟蒂1根烟 注意减掉最后一根烟的烟蒂 (因这题并没有借烟蒂换烟再还回这一说) 此解法为小学4~6年级水平 #include <bits/stdc.h>using namespace std;int main(){int n,k;cin>>n>>k;cout<<n(n-1)/(k-…...

牛客NC324 下一个更大的数(三)【中等 双指针 Java/Go/PHP/C++】参考lintcode 52 · 下一个排列

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/475da0d4e37a481bacf9a09b5a059199 思路 第一步&#xff1a;获取数字上每一个数&#xff0c;组成数组arr 第二步&#xff1a;利用“下一个排列” 问题解题方法来继续作答&#xff0c;步骤&#xff1a;利用lintc…...

Vue3解决“找不到模块“@/components/xxx.vue”或其相应的类型声明”

文章目录 前言背景问题描述解决方案总结 前言 在使用 Vue 3 开发项目时&#xff0c;遇到“找不到模块 ‘/components/xxx.vue’ 或其相应的类型声明”的错误是一个常见问题。这通常与 TypeScript 和模块解析相关的配置不当有关。本文将详细介绍如何解决此问题&#xff0c;确保…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具

作者&#xff1a;来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗&#xff1f;了解下一期 Elasticsearch Engineer 培训的时间吧&#xff01; Elasticsearch 拥有众多新功能&#xff0c;助你为自己…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上&#xff0c;开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识&#xff0c;在 vs 2017 平台上&#xff0c;进行 ASP.NET 应用程序和简易网站的开发&#xff1b;初步熟悉开发一…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...