📜  十进制基础 (1)

📅  最后修改于: 2023-12-03 15:07:19.965000             🧑  作者: Mango

十进制基础

十进制是我们平时最为熟悉的数制,也是计算机中最为常用的数制之一。在程序开发中,我们需要深入了解十进制基础的知识,以更好地应用到实际中。

什么是十进制

十进制又叫做“十进数”,是指数的基数为10的数制系统,使用0到9这10个数字来表示所有的数。十进制中每一位的权值分别是$10^0$,$10^1$,$10^2$,$10^3$等等,从右至左依次增加。例如,7198这个数用十进制表示就是$(710^3)+(110^2)+(910^1)+(810^0)$。

十进制转换

在程序中,我们常常需要进行不同进制之间的转换。以下是十进制向其他进制的转换方法:

十进制转二进制

我们可以通过除2取余的方法将十进制数转换成二进制数。具体方法是:将十进制数不断除以2,直到商为0,每次的余数组成的序列就是该数的二进制表示。例如,十进制数9的二进制表示为1001。

def decimal_to_binary(num):
    binary_str = ''
    while num > 0:
        remainder = num % 2
        binary_str = str(remainder) + binary_str
        num //= 2
    return binary_str

print(decimal_to_binary(9)) # 输出'1001'
十进制转八进制

我们可以通过除8取余的方法将十进制数转换成八进制数。具体方法与十进制转二进制类似。例如,十进制数9的八进制表示为11。

def decimal_to_octal(num):
    octal_str = ''
    while num > 0:
        remainder = num % 8
        octal_str = str(remainder) + octal_str
        num //= 8
    return octal_str

print(decimal_to_octal(9)) # 输出'11'
十进制转十六进制

我们可以通过除16取余的方法将十进制数转换成十六进制数。十六进制数中使用0-9和A-F这16个字符表示数字,A表示10,B表示11……F表示15。例如,十进制数255的十六进制表示为FF。

def decimal_to_hexadecimal(num):
    hexadecimal_str = ''
    while num > 0:
        remainder = num % 16
        if remainder < 10:
            hexadecimal_str = str(remainder) + hexadecimal_str
        else:
            hexadecimal_str = chr(remainder - 10 + ord('A')) + hexadecimal_str
        num //= 16
    return hexadecimal_str

print(decimal_to_hexadecimal(255)) # 输出'FF'
总结

十进制基础是程序员必备的基本知识之一。掌握了十进制基础知识,我们可以更好地理解程序中的数值运算和位运算。同时,十进制转换也是开发中常用的工具之一,可以帮助我们更好地处理各种进制数据。