首页 > 其他分享 >二进制、八进制、十进制、十六进制使用场景

二进制、八进制、十进制、十六进制使用场景

时间:2024-09-27 17:50:24浏览次数:9  
标签:表示 十六进制 二进制 数值 八进制 十进制

在编程和计算机系统中,二进制、八进制、十进制、十六进制都是用于表示数值的不同进制系统。每种进制在不同的场景中有其特定的应用。以下是它们的常见使用场景及原因:

1. 二进制(Binary,基数 2)

  • 表示形式:由01组成,通常以0bb为前缀表示(例如:0b1010表示十进制中的10)。
  • 使用场景
    • 计算机底层表示:二进制是计算机的基础,所有数据(如数字、文本、图片等)最终都以二进制的形式存储在内存中。计算机硬件使用二进制逻辑(电压的高低,开关的开关)来处理信息。
    • 位运算:在程序中进行位操作时,通常用二进制表示数值,这样可以清晰地看到每一位的值,例如与(AND)、或(OR)、异或(XOR)等操作。
    • 逻辑电路设计:二进制广泛应用于设计和实现硬件电路、微处理器等。
  • 示例
    a = 0b1010  # 二进制表示,等于十进制中的10
    print(a)  # 输出:10
    

2. 八进制(Octal,基数 8)

  • 表示形式:由07组成,通常以0o为前缀表示(例如:0o12表示十进制中的10)。
  • 使用场景
    • 旧系统和早期计算机:在早期计算机设计中,八进制用于简化二进制的表示,因为每3位二进制数可以被表示为一个八进制数字。在某些古老的编程语言和系统(如Unix文件权限表示)中仍然使用八进制。
    • Unix文件权限:Unix和Linux系统中使用八进制表示文件权限。例如,文件权限rwxr-xr--可以简写为八进制0754
    • 嵌入式系统:某些特定领域,如嵌入式编程中,八进制有时用于表示低级的硬件相关数值。
  • 示例
    perm = 0o755  # 八进制表示Unix文件权限
    print(perm)  # 输出:493 (十进制表示)
    

3. 十进制(Decimal,基数 10)

  • 表示形式:由09组成,是我们日常生活中使用的数字系统。
  • 使用场景
    • 人类日常使用:十进制是最常见的进制,符合我们日常的数值系统和习惯。所有的数学计算、货币交易、计量单位等都使用十进制。
    • 用户界面和显示:在计算机程序中,任何对用户可见的数值通常以十进制的形式展示,因为这是用户最熟悉的数值系统。
    • 科学计算和金融应用:这些领域中的数值通常也是以十进制表示,以便更直观地表示和处理精确的数值。
  • 示例
    num = 123  # 十进制表示
    print(num)  # 输出:123
    

4. 十六进制(Hexadecimal,基数 16)

  • 表示形式:由09AF(或小写af)组成,通常以0x为前缀表示(例如:0xA表示十进制中的10)。
  • 使用场景
    • 内存地址表示:在程序调试和开发过程中,内存地址通常以十六进制表示。这是因为十六进制可以紧凑且直观地表示长的二进制数,方便读取和使用。
    • 颜色代码表示:在网页设计和图像处理领域,十六进制通常用于表示颜色。例如,#FF5733表示一种颜色,其中FF表示红色分量,57表示绿色分量,33表示蓝色分量。
    • 位操作和位掩码:由于十六进制可以较为简洁地表示较大的二进制数,开发者在处理位掩码时经常使用十六进制。
    • 加密和哈希值表示:在密码学中,散列函数(如MD5、SHA256)通常会生成二进制数据,而这些二进制数据经常以十六进制表示。
  • 示例
    address = 0x1A3F  # 十六进制表示的内存地址
    print(address)  # 输出:6719 (十进制表示)
    
    color = "#FF5733"  # 十六进制颜色代码,表示RGB颜色
    

不同进制之间的转换

编程语言通常提供了方便的方式在不同进制之间进行转换:

  • Python中的进制转换
    • bin():将数值转换为二进制表示。
    • oct():将数值转换为八进制表示。
    • hex():将数值转换为十六进制表示。
    • 示例
      num = 123
      print(bin(num))  # 输出:0b1111011
      print(oct(num))  # 输出:0o173
      print(hex(num))  # 输出:0x7b
      

总结

进制常见表示使用场景
二进制0b1010计算机内部表示、逻辑电路设计、位操作
八进制0o12Unix权限表示、嵌入式系统、早期计算机系统
十进制123日常生活中的数值表示、金融应用、用户界面
十六进制0xA3F内存地址、颜色代码、位操作、加密散列表示、硬件编程及调试

每种进制有它特定的使用场景,选择哪种进制通常取决于应用领域和操作的简洁性。

标签:表示,十六进制,二进制,数值,八进制,十进制
From: https://blog.csdn.net/u010674101/article/details/142599519

相关文章

  • Qt解析十六进制串
      QByteArrayarr1=QByteArray::fromHex("000000A1000000B2000005DC00000000000000900000000000000000000000000000000100000020000000210000000100000000001748C8000000000000046C00000000000000A100000000000000000000006000000000000061E400000000");for......
  • 读取文本十六进制,保存为图片
    读取文本十六进制,保存为图片目录结构D:\SFW\PY_TOOLS\PNGPYmain.pymhex.txtoutput.pngmain.pydefhex_to_png(hex_file,output_file):#从文件中读取十六进制数据withopen(hex_file,'r')asf:hex_data=f.read().strip()#读取并去......
  • 信息学奥赛初赛天天练-91-CSP-S2023基础题3-编译命令、树的重心、拓扑排序、进制转换
    PDF文档公众号回复关键字:202409172023CSP-S选择题1单项选择题(共15题,每题2分,共计30分:每题有且仅有一个正确选项)11以下哪个命令,能将一个名为main.cpp的C++源文件,编译并生成一个名为main的可执行文件?()Ag++-omainmain.cppBg++-omain.cppmainCg++......
  • VS+QT--实现二进制和十进制的转换(含分数部分)
    实现效果: 主要文件:BtD_DtB_converter.cpp#include"BtD_DtB_converter.h"#include<qpushbutton.h>#include<qlineedit.h>#include<qstring.h>#pragmaexecution_character_set("utf-8")BtD_DtB_converter::BtD_DtB_converter(Q......
  • HEXDUMP.EXE 是一个常用的工具,用于查看和显示二进制文件的内容,以十六进制格式呈现。它
    HEXDUMP.EXE是一种早期的计算机程序,用于显示文件的十六进制表示。其起源可以追溯到早期的计算机系统,特别是在UNIX操作系统中。最早的hexdump工具出现在UNIX系统中,它允许用户以十六进制和ASCII格式查看文件内容。这个工具在许多操作系统和编程环境中都得到了实现和扩展,以......
  • 计算机之进制转换(二、八、十、十六进制)
    1、数的进制(1)数的进制包括二进制、八进制、十进制和十六进制,其中它们的表示方式分别为:                二进制:B   八进制:O\Q    十进制:D     十六进制:H(2)二进制、八进制、十进制和十六进制的数分别是:2、进制转换2.1十进制转为......
  • 牛客网测试题 把十六进制数字转换为十进制数字
    1/**2*把十六进制数字转换为十进制数字3*@paramhexSrcStr4*@return5*1706*/7publicstaticStringconvertHex2Decimal(StringhexSrcStr){8if(hexSrcStr==null||hexSrcStr.trim().length()==0){9returnnull;10}11......
  • 二,八,十六进制转化为十进制,二,八,十六进制之间转化
    目录二,八,十六进制转化为十进制十进制转化为二,八,十六进制二,八,十六进制之间转化二进制转八进制八进制变二进制二进制与十六进制转化八进制转十六进制 二,八,十六进制转化为十进制    将这些进制按权展开再求和即可。十进制转化为二,八,十六进制    ......
  • 十六进制转RGB ---颜色-color
    ```//十六进制转RGBfunctionhexToRgb(hex:string){constresult=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);returnresult?[parseInt(result[1],16),parseInt(result[2],16),parseInt(result[3],16),]:null;}functionadjustColor(color:......
  • Qt QString(十六进制形式) 转 int
    QString与QByteArray互转QStringstr("HelloWorld");QByteArraybytes=str.toUtf8();//QString转QByteArray方法1QStringstr("HelloWorld");QByteArraybytes=str.toLatin1();//QString转QByteArray方法2QByteArray转QStringQByteArraybytes(&......