这是我参与更文挑战的第29天,活动详情查看: 更文挑战
在平时调试代码的时候经常需要对数据的进制转换,以方便调试。数据比较少的时候可以通过电脑自带的计算器观察。
打开系统自带计算器,选择程序员模式。
通过计算器的进制转换功能,可以直接看到不同进制的数值。如果数据比较多的时候,用计算器操作起来太麻烦呢。那么就可以利用excel表格中的公式进行转换。
下面就来演示一下如何在excel表格中利用公式进行数据格式转换。
新建一个表格
在A列输入10进制数据,B列显示二进制数据,C列显示八进制数据,D列显示十六进制数据。
然后在B2单元格中输入公式 “=DEC2BIN(A2)”。
DEC意思是十进制Decimal的缩写,BIN意思是二进制Binary的缩写,DEC2BIN就是Decimal to Binary(十进制转换为二进制)的意思。如果英语比较熟悉的话,这个公式是很好记住的。
公式输入完成之后,选中A2单元格,鼠标放在A2单元格右下角,当鼠标变成加号样子时,按住鼠标左键,直接向下拖动。
这样就将十进制数转换为二进制数了。同样要将十进制数转换为八进制数,在C2单元格中输入公式”=DEC2OCT(A2)“,将十进制数转换为十六进制数时,在D2单元格输入”=DEC2HEX(A2)“。
转换完成后的结果如下
如果其他进制转换为十进制的话公式反过来就行。
二进制转换为其他进制
八进制转换为其他进制
十六进制转换为其他进制
这样在数据量比较大的时候,通过excel表格中自带的公式就可轻松进行数据格式转换了。
如果想让转换后的进制数以固定的位数显示,可以直接在=DEC2BIN函数里面增加一个参数,第二个参数就是显示的位数。
比如现在的二进制数据要以8位格式固定显示。公式就设置值 =DEC2BIN(A2,8),这时候二进制数就以8位的固定格式显示。
这样二进制数就以8位的固定宽度显示。
这样通一个简单的工具转换就可以实现批量的数据格式转换了,在调试单片机程序的时候,特别是调试通信的时候,传输的数据都是16进制格式的,直接阅读起来比较费劲,这样就可以通过这种批量转换的方式,将数据转换为10进制格式。在阅读起来就会比较方便了。