穿梭在数字王国:Python进制转换奇遇记

穿梭在数字王国:Python进制转换奇遇记

想象一下,你是一位勇敢的探险家,正在穿越神秘的"数字王国"。在这个王国里,不同的地区使用着不同的语言(或者说,进制)。二进制村的居民只懂"0"和"1";八进制镇的人们使用0到7的数字;而十六进制城的公民则熟悉0-9以及A-F这些符号。作为一名翻译官,你的任务是帮助这些不同地区的居民相互交流——这正是Python进制转换的真实写照!

一、认识数字王国的居民

在我们开始旅程前,先来认识一下这个王国的主要居民:

# 在数字王国,同一个数有不同的表示方式
the_number = 42  # 这是我们熟悉的十进制表示# 在二进制村,它这样表示
binary_village = "101010"  # (2^5 + 2^3 + 2^1 = 32 + 8 + 2 = 42)# 在八进制镇,它是
octal_town = "52"  # (5×8^1 + 2×8^0 = 40 + 2 = 42)# 在十六进制城,它写作
hex_city = "2A"  # (2×16^1 + 10×16^0 = 32 + 10 = 42)

王国的老者告诉你:“不同地区的表示方式不同,但本质上都是同一个数。理解了这点,你就掌握了进制转换的核心奥秘。”

二、十进制向其他地区的旅行(十进制转其他进制)

作为一名来自十进制王国的旅行者,你首先需要学会如何用其他地区的语言表达自己:

# 你想把十进制数42翻译成其他"语言"
decimal_num = 42
print(f"我在十进制王国的名字是: {decimal_num}")# 前往二进制村
binary = bin(decimal_num)  # Python内置的翻译官
print(f"到了二进制村,我要自我介绍: {binary}")  # 输出: 0b101010
# 其中'0b'是二进制的标志,就像村口的路标# 拜访八进制镇
octal = oct(decimal_num)
print(f"在八进制镇,我的名片写着: {octal}")  # 输出: 0o52
# '0o'是八进制的标志# 游历十六进制城
hexadecimal = hex(decimal_num)
print(f"在十六进制城,我的通行证是: {hexadecimal}")  # 输出: 0x2a
# '0x'是十六进制的标志

有时候,你不想带着这些"标志"(0b, 0o, 0x),想要更融入当地文化:

# 去掉"外乡人"的标志,更像当地人
print(f"融入二进制村的生活: {binary[2:]}")  # 输出: 101010
print(f"像八进制镇居民一样说话: {octal[2:]}")  # 输出: 52
print(f"使用十六进制城的方言: {hexadecimal[2:]}")  # 输出: 2a# 另一种方式是使用format()这位万能翻译官
print(f"二进制村的纯正口音: {format(decimal_num, 'b')}")  # 输出: 101010
print(f"地道的八进制镇方言: {format(decimal_num, 'o')}")  # 输出: 52
print(f"十六进制城的贵族说法: {format(decimal_num, 'X')}")  # 输出: 2A (大写更高贵)

三、回到十进制王国(其他进制转十进制)

当你收集了来自各地的信息,需要翻译回自己熟悉的语言:

# 一位二进制村的村民给你

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

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

相关文章

FileInputStream 详解与记忆方法

FileInputStream 详解与记忆方法 一、FileInputStream 核心概念 FileInputStream 是 Java 中用于从文件读取原始字节的类,继承自 InputStream 抽象类。 1. 核心特点 特性说明继承关系InputStream → FileInputStream数据单位字节(8bit)用…

设计模式 四、行为设计模式(2)

五、状态模式 1、概述 状态设计模式是一种行为型设计模式,它允许对象在其内部状态发生时改变其行为,这种模式可以消除大量的条件语句,并将每个状态的行为封装到单独的类中。 状态模式的主要组成部分如下: 1)上…

大模型学习八:‌Sealos 私有化部署之VMware 安装ubuntu22.04 虚拟机安装(实操)

一、说明 windows 11 ubuntu22.04.5 安装5个虚拟机,3个master 2个node 二、安装 Vmware 17(没成功,但你可以成功) 我的电脑配置比较旧,直接提示处理器不支持xsave 无法打开虚拟机的电源,网上方法试过了…

Win32++ 使用初探

文章目录 1. 环境要求2. Win32安装3. 项目创建3.1 项目创建(1)直接使用Win32里的示例Sample(2)自行创建项目 最近想用 VC写些 UI,但又不太想用 MFC,正好对界面要求不太高,就使用了一下 Win3…

R 语言科研绘图第 38 期 --- 饼状图-玫瑰

在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…

Linux驱动开发进阶(六)- 多线程与并发

文章目录 1、前言2、进程与线程3、内核线程4、底半步机制4.1、软中断4.2、tasklet4.3、工作队列4.3.1、普通工作项4.3.2、延时工作项4.3.3、工作队列 5、中断线程化6、进程6.1、内核进程6.2、用户空间进程 7、锁机制7.1、原子操作7.2、自旋锁7.3、信号量7.4、互斥锁7.5、comple…

第四节:React Hooks进阶篇-useEffect依赖项为空数组[]与不写的区别

陷阱题:闭包问题、Stale Closure举例 一、依赖项为空数组[]与不写的核心区别 行为空数组[]不写依赖项执行时机仅在组件挂载时执行一次(类似componentDidMount)组件每次渲染后都执行(类似componentDidUpdate)更新触发…

【第39节】windows编程:打造MFC版本任务管理器

目录 一、项目概述 二、项目开发的各种功能关键 2.1 进程信息的获取 2.2 线程信息的获取 2.3 进程模块信息的获取 2.3.1 模块快照 2.3.2 枚举模块 2.4 进程堆信息的获取 2.5 窗口信息的获取 2.6 文件信息的获取 2.7 内存信息和CPU占用率的获取 2.7.1 内存信息相关结…

计算轴承|滚动轴承故障频率

一、轴承故障频率概述 在旋转机械故障诊断中,轴承故障频率(BPFO、BPFI、BSF、FTF)是重要的分析依据。通过计算这些特征频率,可以帮助工程师: 识别轴承故障类型(内圈/外圈/滚动体故障)制定振动…

【数据结构与算法】ArrayList 和 顺序表

文章目录 🌲List🌲1. 线性表🌲2. 顺序表🌿2.1 MyArrayList2.1.1 类中重写所有接口方法1.新增元素2.在pos位置新增元素(指定位置)3.判定是否包含了某个特定元素 4.查找特定元素对应的位置 5.获取pos下标的元素 6.给pos位置的元素替…

OceanBase 推出单机版 ,为中小规模业务提供高性价比方案

近日,OceanBase正式推出了全新的单机版数据库。这款产品基于OceanBase自主研发的单机分布式一体化架构,具有精简的架构设计和出色的兼容性,能够为中小规模业务场景提供高性价比的数据库解决方案,充分满足客户在不同业务规模下的多…

如何在 Vue 3 中实现百度地图位置选择器组件

如何在 Vue 3 中实现百度地图位置选择器组件 前言 在开发前端应用时,地图选择器是一个非常常见的需求。尤其是在一些需要用户选择地址的场景,如电商平台、旅游网站、酒店预定等,百度地图组件能提供准确的地理位置服务。在本文中&#xff0c…

Python中如何用正则表达式精准匹配IP地址?

在网络编程和数据处理时,我们经常需要从文本中提取或验证IP地址。Python的正则表达式(re模块)是完成这个任务的利器。但你知道怎么写才能准确匹配各种合法的IP地址吗?今天我们就来详细探讨这个问题。 为什么需要IP正则表达式? 假设你正在分…

spring--声明式事务

声明式事务 1、回顾事务 要么都成功,要么都失败! 事务在项目开发中,十分重要,涉及数据的一致性问题 确保完整性和一致性 事务ACID: 原子性:事务是原子性操作,由一系列动作组成,…

Kotlin 学习-集合

/*** kotlin 集合* List:是一个有序列表,可通过索引(下标)访问元素。元素可以在list中出现多次、元素可重复* Set:是元素唯一的集合。一般来说 set中的元素顺序并不重要、无序集合* Map:(字典)是一组键值对。键是唯一的…

WPF 五子棋项目文档

WPF 五子棋项目文档 1. 项目概述 本项目是一个使用 Windows Presentation Foundation (WPF) 技术栈和 C# 语言实现的桌面版五子棋(Gomoku)游戏。它遵循 MVVM(Model-View-ViewModel)设计模式,旨在提供一个结构清晰、可…

计算机操作系统——死锁(详细解释和处理死锁)

系列文章目录 计算机操作系统-计算机系统中的死锁 文章目录 系列文章目录前言一、资源问题: 计算机系统当中的死锁: 二、死锁的定义、必要条件和处理方法: 1.死锁的定义:2.产生死锁的必要条件:3.处理死锁的方法&#…

Springboot项目正常启动,访问资源却出现404错误如何解决?

我在自己的springboot项目中的启动类上同时使用了SprinBootApplication和ComponentScan注解, 虽然项目能够正常启动,但是访问资源后,返回404错误,随后在启动类中输出bean,发现controller创建失败: 而后我将ComponentScan去掉后资源就能访问到了. 原因 SprinBootApplication本身…

第十五届蓝桥杯C/C++B组省赛真题讲解(分享去年比赛的一些真实感受)

试题A——握手问题 一、解题思路 直接用高中学的排列组合思路 二、代码示例 #include<bits/stdc.h> using namespace std; int fun(int n) {int sum0;for(int i0;i<n;i){for(int ji1;j<n;j)sum; } return sum; } int main() {cout<<fun(50)-fun(7); }三、…

动态规划(6)——01背包问题

欢迎来到博主的专栏&#xff1a;算法解析 博主ID&#xff1a;代码小号 文章目录 牛客网——【模板】01背包题目解析题目1算法原理题目1题解代码。问题2算法原理问题2题解代码01背包问题的滚动数组优化 牛客网——【模板】01背包 题目解析 关于I/O相关的东西博主就不多赘述了&a…