如何用函数公式转换十进制的小数到二进制、八进制、十六进制

懒得批爆
懒得批爆

WPS产品体验官

十进制、二进制、八进制、十六进制相互转换整数是一点问题都没有(图一) DEC2BIN/OCT/HEX、BING2DEC/OCT/HEX、OCT2DEC/BIN/HEX、HEX2DEC/OCT/BIN就能办到,那么如果包含了小数又改如何转换?(图二) 已经借助AI搜索研究了下包含小数的十进制转二进制,所以请灌水的不要再贴AI搜索结果了! 图三: 整数部分用DEC2BIN函数即可 小数部分用乘2取整法 随后得到一个转换方法,但只能一个数字一个数字的转换,还挺麻烦的,有没有人能帮助一键转换(数组或范围数据),能转换到指定的八进制、十六进制更好,天马行空的其他进制(比如五进制、七进制等)就不要提了 要求操作不上代码,杀鸡可以不用牛刀!
四川省
浏览 329
1
6
分享
6 +1
4
1 +1
全部评论 4
 
Chadwick
转换为二进制:使用 DEC2BIN 函数。例如,要将十进制小数 0.625 转换为二进制,假设在 A1 单元格输入 0.625,在 B1 单元格输入公式 “=DEC2BIN (A1*1000, 10)”(这里乘以 1000 是因为 DEC2BIN 函数通常用于整数转换,乘以一个合适的数将小数转为整数,10 表示结果的位数),得到结果后,再根据实际小数位进行调整,0.625 对应的二进制为 0.101。 转换为八进制:使用 DEC2OCT 函数。如将 0.625 转换为八进制,在 C1 单元格输入公式 “=DEC2OCT (A1*1000, 5)”(乘以 1000 并设置结果位数为 5),再进行小数位调整,0.625 对应的八进制为 0.5。 转换为十六进制:使用 DEC2HEX 函数。将 0.625 转换为十六进制,在 D1 单元格输入公式 “=DEC2HEX (A1*1000, 4)”(乘以 1000 并设置结果位数为 4),然后调整小数位,0.625 对应的十六进制为 0.A。
· 河北省
回复
懒得批爆
懒得批爆

WPS产品体验官

首先感谢你的回答, 其次问一下,你在回答时有没有试过你的公式? 以后回答问题的时候最好还是配上截图比较容易说明问题,DEC2BIN/OCT/HEX这三个函数返回值都是小数点前的数据。
· 四川省
回复
 
乌鲁不齐
ai还是可以解决这个问题的 但是用公式实现起来太复杂了 还不如写vba代码
· 湖北省
回复
懒得批爆
懒得批爆

WPS产品体验官

如果有写代码的时间,不如用在线工具了,不仅快捷还是即输即显,杀鸡焉用牛刀呢
· 四川省
回复