十进制转十六进制转换器

→
十六进制 = 反复除以 16 取余数,余数写成 0-9 或 A-F

十进制转十六进制:程序员真正在用的那种简写

这个换算在做什么

它把一个 10 进制数写成 16 进制,用 0 到 9 再加上 A 到 F 这十六个数字。十六进制不是另一种数,只是同一串二进制位的更短写法:一位十六进制恰好覆盖四位二进制,所以 32 位的值只占八个字符而不是三十二个。这种压缩正是它活到今天的原因。

A 到 F 这几个字母是怎么来的

16 进制需要十六个不同的数字符号,而常用的只有十个,于是字母表的前六个补上了空缺:A 是 10,B 是 11,一路到 F 是 15。它们是数字而不是缩写,所以 FF 的意思是十五个 16 再加上十五,也就是 255,和英文单词 fifteen 没有关系。

十进制转十六进制对照表

颜色、寻址和权限掩码中反复出现的十进制值及其十六进制写法。255 和 65535 这类数字标记着一个字节和两个字节字段的边界。

十进制十六进制
00
11
77
88
10A
15F
1610
311F
6440
10064
1277F
200C8
255FF
10003E8

颜色码与内存地址

网页颜色 #1E90FF 是三个字节——红、绿、蓝——写成六位十六进制,每一对就是一个 0 到 255 的通道。同样的写法也出现在内存地址里,0x7FFE 比它的十进制形式好比较得多。两者都赢在数字与字节边界对齐:两位数字,一个字节,永远如此。

大小写要统一

本转换器输出大写,与 C 语言清单、芯片手册和多数文档的惯例一致。小写同样合法,在网址和某些语言的字符字面量里很常见,输入框两种都收。同一个值里混用大小写虽然合法,但读起来别扭,挑一种就一直用下去。

常见问题

不用计算器怎么把十进制转成十六进制?

用 16 去除,把余数记成一位十六进制数字,再用商继续除,直到商为 0,最后把数字从后往前读。以 255 为例:255 ÷ 16 得 15 余 15,15 ÷ 16 得 0 余 15,答案是 FF。余数超过九就写成 A 到 F。

为什么用十六进制而不是二进制?

因为四位二进制正好对应一位十六进制,转换是直接替换,不需要任何算术。十六进制是同一串位的一种紧凑、可读的拼写方式,所以调试器、反汇编器和网络工具都选它。

0x 前缀是什么意思?

它是 C 和许多其他语言里的标记,表示后面这些数字是十六进制,所以 0x20 是三十二而不是二十。本转换器接受输入里的 0x 前缀,输出则不需要前缀,因为你所在的页面已经说明了进制。

64 位的值需要多少位十六进制?

十六位,而且本转换器能精确处理。64 位整数会超出浮点运算能精确表示的范围,用普通数字实现的工具面对 FFFFFFFFFFFFFFFF 会给出一个看着合理却是错误的答案;全程使用精确整数就完全避开了这个问题。

十六进制数字区分大小写吗?

不区分。FF 和 ff 是同一个值,输入框两者都接受。输出按惯例使用大写,与大多数源代码、文档和硬件手册的风格一致。

复制下面的代码并粘贴到您的网站,即可添加此换算器。

<!-- 十进制转十六进制 -->
<iframe src="https://unitflow.net/zh/embed/decimal-to-hex" title="十进制转十六进制" width="100%" height="420" loading="lazy" style="border:0;max-width:100%;display:block"></iframe>
<p><a href="https://unitflow.net/zh/decimal-to-hex" target="_blank" rel="noopener">由 UnitFlow 提供</a></p>