尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

【网安第14课】进制

【网安第14课】进制 一.进制概念1.简介进制简单说就是 “逢几进一”的计数规则。我们日常生活中最熟悉的是 十进制逢十进一而计算机内部使用的是 二进制逢二进一。2.核心概念基数这种进制允许使用的数码个数。十进制用 0-910个数码二进制用 0、12个数码。位权每个位置代表的值。例如十进制数 123 1×10² 2×10¹ 3×10⁰。运算规则当某一位累加达到基数时就向高位进位。3.常见进制对比进制基数数码示例二进制 (B)20,11010₂ 10₁₀八进制 (O)80–712₈ 10₁₀十进制 (D100–910₁₀十六进制 (H)160–9,A–FA₁₆ 10₁₀A10, B11, C12, D13, E14, F154.为什么要学进制计算机基础内存、寄存器、网络地址如 MAC、IPv6常用十六进制。数据压缩与位运算理解二进制才能看懂位与、或|、左移等操作。CTF逆向/隐写经常需要进制转换如字符串转十六进制、二进制转 ASCII。二.四种进制的互相转化1.十进制 ↔ 其他进制十进制 → 二进制/八进制/十六进制除基取余法方法不断除以目标基数2、8、16记录余数倒序排列。· 十进制 25 → 二进制 25 ÷ 2 12 余 1 12 ÷ 2 6 余 0 6 ÷ 2 3 余 0 3 ÷ 2 1 余 1 1 ÷ 2 0 余 1 倒序11001₂ ​ · 十进制 25 → 八进制 25 ÷ 8 3 余 1 3 ÷ 8 0 余 3 倒序31₈ ​ · 十进制 25 → 十六进制 25 ÷ 16 1 余 9 1 ÷ 16 0 余 1 → 0x19 即 19₁₆二进制/八进制/十六进制 → 十进制按权展开法方法每一位数字乘以其基数的“位权”从右向左从0开始计次方求和。· 二进制 11001₂ → 十进制 1×2⁴ 1×2³ 0×2² 0×2¹ 1×2⁰ 168001 25 ​ · 八进制 31₈ → 十进制 3×8¹ 1×8⁰ 24 1 25 ​ · 十六进制 19₁₆ → 十进制 1×16¹ 9×16⁰ 16 9 252.二、八、十六进制之间的快速转换这三种进制的基数都是 2 的幂次2¹22³82⁴16所以可以用 分组/拼接法不需要转十进制。二进制 ↔ 八进制3位一分方法从小数点向左右每3位一组不够的补0每组转成1位八进制数。· 二进制 11 001 001₂实际写作 11001001 分组从右向左011 001 001 → 3 1 1 → 311₈ ​ · 反向八进制 311₈ → 每一转3位二进制3→0111→0011→001 → 11001001₂二进制 ↔ 十六进制4位一分方法每4位一组每组转成1位十六进制10-15用A-F。· 二进制 1100 1001₂ 分组1100 (12→C)1001 (9) → C9₁₆ ​ · 反向十六进制 C9₁₆ → 1100 1001₂八进制 ↔ 十六进制方法先转成二进制再转成目标进制不推荐直接转。· 八进制 311₈ → 二进制 011001001₂ → 从右向左4位一分1100 1001 → C9₁₆3.工具快速转换实战推荐工具方法Windows 计算器打开“程序员”模式点选进制直接输入数字Pythonbin(25) → 0b11001int(11001,2) → 25在线转换搜索“进制转换”但适用于CTF离线环境时多用Python
返回列表