欢迎来到魔豆IT网-IT综合知识分析平台

用Go实现二进制之间的转换

2020-12-01 05:22:34栏目 : 网络编程围观 : 42次

“本文将介绍使用Go在十进制和二进制之间进行转换

“首先你要明白,我们用的数字都是十进制的,二进制只有0和1。

然后简单说一下十进制是怎么转换成二进制的。

方法1:短除法

比如现在需要把23的值转换成二进制,用短除法来计算。

相信大家之前都稍微了解过二进制转换,下图是转换过程。

将一个十进制数除以二,然后将商除以二,以此类推,直到商等于一或零,将余数反过来,即转换为二进制数的结果。

因此,23到二进制的转换是10111,也就是说,所有的余数都可以反过来

使用短除法从十进制到二进制的转换方案2:使用Go的转换

使用go从十进制到二进制的转换。上图估计大部分接触Go的新伙伴可能对n /= 2有些怀疑。以传入shaped int的形式,计算出来的数据应该是浮点型的,那么这是怎么计算出来的呢?

因为N/=2实际上是N=N/2,你的N是int类型,编译器会自动转换成整数而不是整数,把19.5放入N,就是19。

因此,在执行第二个loop语句时,n将自动转换为11,而不是使用11.5进行计算。

strconv。这里还使用了Itoastrconv包,提供字符串和简单数据类型之间的类型转换功能。

您可以将简单类型转换为字符串,也可以将字符串转换为其他简单类型。

因为result是字符串类型,所以需要Itoa在必要时将返回值转换为字符串类型。

最终返回值是10111

二进制到十进制

把这个10111二进制转换成十进制也很简单

看下面的计算:1 * 20+1 * 21+1 * 22+0 * 23+1 * 24 = 1+2+4+0+16 = 23

“坚持学习、写博客、分享是卡卡从职业生涯开始就一直坚持的信念。希望广大互联网上的卡卡文章能给你带来一点帮助。这是卡卡。下次见。

相关推荐:《golang教程》是使用Go实现基地间转换的详细内容,更多

展开剩余内容

分享到:

猜你喜欢

  • kgma是什么格式

    Kgma格式是酷狗不保护音乐版权的特殊格式。是特殊保护格式,只能在酷狗音乐播放器上播放,是MP3格式的加密包。因为音乐版权问题,音乐文件是加密的,暂时不支持格式转换,只能在酷狗...

    2028-01-02
  • 如果windows7启用了网络,但无法保存,该怎么办

    Windows7启用网络无法保存的解决方案:首先,计算机右键点击,然后选择管理、服务、应用和服务;然后分别启动相关服务,启动类型设置为自动;最后,打开高级共享设置,并设置为打开...

    2028-01-02
  • 蓝牙4.1和5.0有什么区别

    区别:蓝牙5.0的速度是蓝牙4.1的两倍;蓝牙5.0的有效距离可以达到300米,是蓝牙4.1的几倍。蓝牙5.0也比蓝牙4.1耗电少。蓝牙是一种支持设备间短距离通信(一般在10m...

    2028-01-02
  • csv是什么格式的文件

    Csv是一种通用且相对简单的逗号分隔值文件格式,是一种用于存储数据的纯文本文件。纯文本意味着CSV文件是一个字符序列,不包含必须像二进制数字一样解释的数据。逗号分隔值文件格式逗...

    2028-01-02
热门标签