专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

单片机 avr c语言 二进制 十进制 十六进制 快速转换

作者:海盗工作室   来源:本站原创   点击数:  更新时间:2014年04月29日   【字体:

二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,如:8位二进制数:“00110101”  ;c语言中表示为 0b00110101;

十进制数是我们日常使用的计数方式,如245,21,23453。

十六进制:逢16进1,用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F表示,对应十进制数是:0,1,2,3,4,5,6,7,8,9,10,  11,12,13,14,15。c语言中十六进制数前加“0x”表示,例如:十六进制:0x35   转换为二进制数为:00110101

二进制转换为十六进制:  

    4位二进制的权值,从高位往低位记,:8、4、2、1。即,最高位的权值为2^3 = 8,然后依次是 2^2 = 4,2^1=2, 2^0 = 1。

 对于任意一个4位的二进制数,我们都可以很快算出它对应的10进制值。

     4位 二进制                        十进制     十六进制

       1111     = 8 + 4 + 2 + 1 = 15                F

  1110     = 8 + 4 + 2 + 0 = 14                E

  1101     = 8 + 4 + 0 + 1 = 13                D

  1100     = 8 + 4 + 0 + 0 = 12                C

  1011     = 8 + 0 + 2+ 1 = 11                 B

  1010     = 8 + 0 + 2 + 0 = 10                A

       1001     = 8  +0 +0 +1   =9                   9

   二进制数要转换为十六进制,就是以4位一段,分别转换为十六进制。例如:二进制数为:00110101   转换为 十六进制:0x35  

        高四位:0011   =  0+ 0 + 2 + 1 =  3   ; 低四位:0101    = 0 + 4 + 0 + 1 = 5   如下图所示

 

 

十六进制转换为二进制: 如:0xA9      A=8+2   对应的二进制为:1010   ;9=8+1 对应的二进制为:1001,0xA9的二进制为:10101001

 

 


若要让流水灯原理图中的灯亮: 灯的正极接电源,若要灯亮,负极需要低电平电压:0v,相应的端口赋值为0 。

   PORTA端口应赋值为:二进制:01010011 ,转换为十六进制:0x53    c语言: PORTA=0x53;

关闭窗口

相关文章