C语言是程序开发者学习的基础语言,虽然在某种意义上C语言属于高级程序语言,但它更加贴近于底层实现,对很多新入门的编程者而言依然是很难掌握的一门语言。本文就简单介绍如何将只包含01数字的二进制数组转换成8进制数。
工具/原料
Visual Studio
方法/步骤
1
启动Visual Studio开发工具,创新空白新项目,在新项目中添加Test.c测试源代码文件
2
在创建的Test.c源代码中初始化两个只有01的数组,第一个数组有15个元素,第二个数组有13个元素。了解二进制和八进制概念就知道,二进制转换成八进制需要从后向前将将二进制三个数组成一个八进制数,最后将所有的八进制数组合起来就完成了二级制转八进制操作。
3
考虑前面的有15个元素的二进制转换成八进制,需要从后向前每次读取三个数组元素,这三个数组元素在数组中索引越小的权位越高,将它们变成八进制需要将每个数字乘以对应的二级制权位值最后相加
4
接着考虑前面的只有13位二进制的数,后面的12位数字结合完成后只剩下最高位还有一个数字,此时只需要将这一位数字放到最前面即可;如果还有14位的二进制数,后面的12为结合后还剩下最高位的两位二进制值,需要将最高两位合并在一起
5
前面读取01数组是从后向前,也就是说num数组中的数字按照权位从低到高排列,读取数字时需要从后向前读,这样读出来的才是真正的八进制值
6
将上面的处理步骤封装成为C语言的函数,接着在main方法中测试该方法的运行结果,结果正确。
注意事项
处理数组时注意不要出现数组越界的情况
下一篇:cabbage是什么意思