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

Python-分析内存进制转换

记录python学习,直到学会基本的爬虫,使用python搭建接口自动化测试就算学会了,在进阶webui自动化,app自动化

python基础2分析内存进制转换

    • 常见的进制
    • 低进制转高进制
      • 二进制转十进制
      • 二进制转十六进制
      • 二进制转八进制
    • 高进制转低进制
      • 除R取余法(倒叙),R是具体的进制
      • 特殊的16进制
    • 实践是检验真理的唯一标准

常见的进制

二进制(Binary):基数为2,只使用数字0和1。计算机硬件层面的运算和存储都是基于二进制的。

八进制(Octal):基数为8,使用数字0到7。八进制在某些编程环境中用于表示文件权限,并且有时用于简化二进制数据的表示。

十进制(Decimal):基数为10,使用数字0到9。这是人类日常生活中最常用的数字系统。

十六进制(Hexadecimal):基数为16,使用数字0到9和字母A到F(其中A代表10,B代表11,以此类推,直到F代表15)。十六进制在计算机科学中广泛用于表示内存地址和颜色代码,因为它可以更简洁地表示二进制数。

二进制代码十进制(BCD,Binary-Coded Decimal):基数为10,每个十进制数字用四个二进制位表示。这种表示方法在某些硬件和金融计算中使用,以减少错误。

低进制转高进制

乘基取整法法(权重的基数是具体的进制)

二进制转十进制

示例: 二进制数 1011 转换为十进制数。
在这里插入图片描述

二进制转十六进制

示例: 二进制数 101101 转换为十六进制数。
从右到左,每四位二进制数分为一组,不足四位的在左边补零。
将每组二进制数转换为对应的十六进制数。
101101 分为两组:0101 和 1011。
0101 对应的十六进制数是 5。
1011 对应的十六进制数是 B。
所以,二进制数 101101 转换为十六进制数是 B5。

二进制转八进制

示例: 二进制数 101101 转换为八进制数。
从右到左,每三位二进制数分为一组,不足三位的在左边补零。
将每组二进制数转换为对应的八进制数。
101101 分为三组:001、011 和 01(最左边补零)。
001 对应的八进制数是 1。
011 对应的八进制数是 3。
010 对应的八进制数是 2。
所以,二进制数 101101 转换为八进制数是 132。

高进制转低进制

除R取余法(倒叙),R是具体的进制

1011 ÷ 2 = 505 余 1(记录余数1)
505 ÷ 2 = 252 余 1(记录余数1)
252 ÷ 2 = 126 余 0(记录余数0)
126 ÷ 2 = 63 余 0(记录余数0)
63 ÷ 2 = 31 余 1(记录余数1)
31 ÷ 2 = 15 余 1(记录余数1)
15 ÷ 2 = 7 余 1(记录余数1)
7 ÷ 2 = 3 余 1(记录余数1)
3 ÷ 2 = 1 余 1(记录余数1)
1 ÷ 2 = 0 余 1(记录余数1,商为0,停止)
将得到的余数逆序排列:1111101,这就是二进制数 1011 对应的十进制数 11。
进制转换本身比较简单,下次分析原码、反码、补码的基础知识,都是些理论基础但是在后续开发中可能有大作用

特殊的16进制

在十六进制中,有一些特殊的数,它们在转换为十进制时具有特定的值。以下是一些常见的特殊十六进制数及其十进制等价:

  1. 0x00:表示零。
    [
    0x00 = 0 \times 16^1 + 0 \times 16^0 = 0_{10}
    ]

  2. 0x01:表示一。
    [
    0x01 = 0 \times 16^1 + 1 \times 16^0 = 1_{10}
    ]

  3. 0x0F:表示十五。
    [
    0x0F = 0 \times 16^1 + 15 \times 16^0 = 15_{10}
    ]

  4. 0x10:表示十六。
    [
    0x10 = 1 \times 16^1 + 0 \times 16^0 = 16_{10}
    ]

  5. 0xFF:表示二百五十五。
    [
    0xFF = 15 \times 16^1 + 15 \times 16^0 = 255_{10}
    ]

  6. 0x100:表示二百五十六。
    [
    0x100 = 1 \times 16^2 + 0 \times 16^1 + 0 \times 16^0 = 256_{10}
    ]

  7. 0xFFFF:表示六万五千五百三十五。
    [
    0xFFFF = 15 \times 16^3 + 15 \times 16^2 + 15 \times 16^1 + 15 \times 16^0 = 65535_{10}
    ]

  8. 0x10000:表示六万五千五百三十六。
    [
    0x10000 = 1 \times 16^4 + 0 \times 16^3 + 0 \times 16^2 + 0 \times 16^1 + 0 \times 16^0 = 65536_{10}
    ]

  9. 0xFFFFFFFF:表示四十二亿九千四百九十六万七千二百四十五。
    [
    0xFFFFFFFF = 15 \times 16^7 + 15 \times 16^6 + 15 \times 16^5 + 15 \times 16^4 + 15 \times 16^3 + 15 \times 16^2 + 15 \times 16^1 + 15 \times 16^0 = 4294967295_{10}
    ]

  10. 0x100000000:表示四十二亿九千四百九十六万七千二百四十六。
    [
    0x100000000 = 1 \times 16^8 + 0 \times 16^7 + 0 \times 16^6 + 0 \times 16^5 + 0 \times 16^4 + 0 \times 16^3 + 0 \times 16^2 + 0 \times 16^1 + 0 \times 16^0 = 4294967296_{10}
    ]

这些特殊的十六进制数在计算机科学和编程中经常出现,因为它们代表了某些重要的数值,如颜色代码、内存地址、最大值等。
这里目前这个阶段咱就当了解就行,比较能够分析内存都是性能测试相关的东西了,都是后续要学习的,咱知道有这些特殊值就行,计算机网络中也是有这些特殊的值,比如广播地址,主机地址,子网掩码,网关等等

实践是检验真理的唯一标准


http://www.kler.cn/a/428999.html

相关文章:

  • 【机器学习实战入门】基于深度学习的乳腺癌分类
  • OSPF小实验
  • STL—stack与queue
  • Vue数据响应式,reaction,ref的使用
  • windows下安装并使用node.js
  • 设计一个流程来生成测试模型安全性的问题以及验证模型是否安全
  • HOC vs Render Props vs Hooks
  • 在Windows下C语言获取当前应用程序运行路径并获取指定目录下所有文件(包括子目录)
  • 决策树:ID3、C4.5和CART特征选择方式
  • Lua使用点号和冒号的区别
  • Selenium是广泛使用的模拟浏览器运行的库
  • 为超越JVM而生?深入理解Kotlin Native的梦想与可能
  • 使用PaddleOCR遇到的问题Bug
  • 机器学习:全面学习路径指南
  • 漫画之家Spring Boot:漫画资源的跨设备访问
  • photoblog解题过程
  • 代码随想录第五十一天
  • 天天 AI-241208:今日热点- OpenAI发布强化微调API,能深度定制超复杂大模型了
  • Linux内核升级操作和 k8s 常见命令
  • Vue3.0中的响应式原理是什么?vue2的响应式原理是什么?
  • LeetCode Hot100 61~70
  • 2024最新qrcode.min.js生成二维码Demo
  • G6基本使用
  • Java项目实战II基于微信小程序的无中介租房系统(开发文档+数据库+源码)
  • Springer Nature——Applied Intelligence 投稿指南
  • JVM学习《垃圾回收算法和垃圾回收器》