编程语言中二进制转换的方法可分为以下三类,涵盖语言内置函数、手动算法实现及数据类型转换:
一、内置函数转换
Python - 十进制转二进制:`int(binary_str, 2)` 或 `bin(num)`(如 `bin(10)` 返回 `'0b1010'`)
- 二进制转十进制:`int(binary_str, 2)`(如 `int('1011', 2)` 返回 `11`)
C语言
- 十进制转二进制:`printf("%b", num)`(如 `printf("%b", 10)` 输出 `1010`)
- 二进制转十进制:`strtol(binary_str, NULL, 2)`(如 `strtol("1011", NULL, 2)` 返回 `11`)
Java
- 十进制转二进制:`Integer.toBinaryString(num)`(如 `Integer.toBinaryString(10)` 返回 `"1010"`)
- 二进制转十进制:`Integer.parseInt(binaryStr, 2)`(如 `Integer.parseInt("1011", 2)` 返回 `11`)
二、手动算法实现
十进制转二进制
- 除2取余法: 通过不断除以2并记录余数,逆序排列得到二进制(如100转为1100100) - 位运算法
二进制转十进制 - 按权展开法:
从右至左用二进制位乘以2的次方并求和(如1011转为1×2³+0×2²+1×2¹+1×2⁰=11)
三、数据类型转换
二进制转十六进制:C语言中可用 `printf("%x", data)`(如 `printf("%x", 0x1A)` 输出 `26`)
字符转二进制:Java中 `Integer.toBinaryString(char)`(如 `Integer.toBinaryString('王')` 输出 `11100111`)
总结:根据需求选择合适的方法,内置函数简洁高效,手动算法适合学习底层逻辑,数据类型转换需注意目标格式的对应规则。