无需登录 数据私有 本地保存

进制转换工具 - 二进制/八进制/十进制/十六进制

93
0
0
0
「进制(Number Base)」:一种用固定数量的不同符号来表示数值的记数系统。进制的基数(Base)决定了每个数位上可以使用的不同数字的数量。例如,十进制的基数是10,每个数位上可以使用0到9共十个数字;二进制的基数是2,每个数位上只能使用0和1两个数字。进制系统是计算机科学的基础概念,理解不同进制之间的关系对于编程、数据处理和底层系统开发至关重要。 「二进制(Binary)」:基数为2的进制系统,仅使用0和1两个数字表示所有数值。二进制是计算机底层数据表示和运算的基础格式,因为计算机硬件中的晶体管、逻辑门和存储单元天然适合表示两种状态(高电平/低电平、开/关、有磁/无磁)。在二进制中,每个数位的位权是2的幂次方,从右到左依次为1、2、4、8、16、32、64、128等。二进制通常使用0b前缀标识,如0b1010表示十进制的10。 「八进制(Octal)」:基数为8的进制系统,使用0到7共八个数字表示数值。八进制在Unix/Linux系统中有着重要应用,特别是在文件权限管理中——chmod命令使用八进制数字来表示文件的读、写、执行权限组合。八进制的每个数位恰好对应三位二进制数(因为2³=8),因此八进制是二进制的一种紧凑表示形式。在早期的计算机系统中,八进制曾被广泛使用,虽然现在十六进制更为普遍,但八进制在特定场景下仍然具有实用价值。八进制通常使用0o前缀标识,如0o12表示十进制的10。 「十进制(Decimal)」:基数为10的进制系统,使用0到9共十个数字表示数值。十进制是人类日常生活中最通用的计数方式,广泛用于商业交易、科学计量和日常交流。十进制的每个数位的位权是10的幂次方,从右到左依次为1、10、100、1000等。在计算机编程中,十进制是数值的默认表示格式,不需要任何前缀标识。绝大多数编程语言和计算器都默认使用十进制进行数值输入和输出。 「十六进制(Hexadecimal)」:基数为16的进制系统,使用0到9以及A到F(或小写a到f)共十六个符号表示数值,其中A到F分别表示十进制的10到15。十六进制在计算机科学中应用极为广泛,包括内存地址显示、颜色编码(如CSS中的十六进制颜色值#RRGGBB)、MAC地址、UUID、散列值表示、网络协议数据包分析等。十六进制的每个数位恰好对应四位二进制数(因为2⁴=16),因此十六进制是二进制的另一种紧凑表示形式,比八进制更加高效。十六进制通常使用0x前缀标识,如0xFF表示十进制的255。 「进制基数(Base/Radix)」:进制系统中每个数位可以使用的不同数字的数量。基数决定了进制的类型和特性。例如,基数2对应二进制,基数8对应八进制,基数10对应十进制,基数16对应十六进制。在JavaScript中,parseInt(string, radix)方法的第二个参数radix就是指定解析时使用的进制基数,范围为2到36。 「位权(Place Value)」:进制系统中每个数位所代表的数值大小。位权从最低位(最右边)开始,从右到左依次增大。对于基数为b的进制系统,最右边第一位的位权是b⁰=1,第二位是b¹=b,第三位是b²,以此类推。例如,在十进制中,个位的位权是1,十位是10,百位是100;在二进制中,最右边第一位的位权是1,第二位是2,第三位是4,第四位是8。 「除基取余法(Division Method)」:将十进制整数转换为其他进制的标准算法。具体步骤是:将待转换的十进制数反复除以目标进制的基数,每次记录余数,直到商为0为止。将所有余数从最后一次到第一次倒序排列,就得到了目标进制的表示结果。例如,将十进制的13转换为二进制:13÷2=6余1,6÷2=3余0,3÷2=1余1,1÷2=0余1,倒序排列余数得到1101,即十进制13等于二进制1101。 「乘基取整法(Multiplication Method)」:将十进制小数转换为其他进制的标准算法。具体步骤是:将待转换的小数部分反复乘以目标进制的基数,每次取乘积的整数部分作为该位的数字,将小数部分继续参与下一次乘法运算,直到小数部分为0或达到所需精度为止。例如,将十进制0.625转换为二进制:0.625×2=1.25取整1,0.25×2=0.5取整0,0.5×2=1.0取整1,结果为二进制0.101。 「前缀标识(Prefix Notation)」:用于标识数值进制格式的固定字符序列。在JavaScript和许多编程语言中,0b表示二进制字面量,0o表示八进制字面量,0x表示十六进制字面量,十进制不需要前缀。前缀标识帮助开发者和工具快速识别数值的进制格式,避免歧义。例如,0xFF和255在JavaScript中表示相同的数值,但前缀明确告知前者是以十六进制格式书写的。 「parseInt()方法」:JavaScript内置的全局函数,用于将字符串按照指定的进制基数解析为十进制整数。语法为parseInt(string, radix),其中string是要解析的字符串,radix是解析时使用的进制基数(2到36之间的整数)。例如,parseInt('FF', 16)返回255,parseInt('1010', 2)返回10,parseInt('377', 8)返回255。如果radix参数省略,parseInt会根据字符串的前缀自动推断进制:0x开头按十六进制解析,0o开头按八进制解析(ES5+),0b开头按二进制解析(ES6+),其他情况默认按十进制解析。 「toString()方法」:JavaScript中Number对象的实例方法,用于将数值转换为指定进制的字符串表示。语法为number.toString(radix),其中radix是目标进制基数(2到36之间的整数)。例如,(255).toString(16)返回'ff',(255).toString(2)返回'11111111',(255).toString(8)返回'377'。如果不传radix参数,默认转换为十进制字符串。该方法是实现进制转换的核心API之一。 「IEEE 754标准」:计算机中浮点数(小数)的表示标准,定义了单精度(32位)和双精度(64位)浮点数的存储格式。由于IEEE 754使用二进制表示小数,许多十进制小数(如0.1)无法用二进制精确表示,会产生舍入误差。这就是为什么在某些进制转换中,十进制小数转换为二进制时会出现很长的近似值。本工具在处理小数转换时基于JavaScript的浮点数运算,遵循IEEE 754标准的行为。