【进制】二进制十进制转换练习

进制转换练习题
22.8125

整数部分除2取余数,商继续除
22/2 余 0
11/2 1
5/2 1
2/2 0
1
倒叙串起来整数部分为 10110
小数部分乘2 取整数部分,顺序和整数不一样

0.8125*2 = 1.625 1
0.625*2 = 1.25 1
0.25*2 = 0.5 0
0.5*2 = 1 1
结束 正序串起来 1101


10110.1101

十进制转二进制

整数部分 倒序

10110

0*2^0+1*2^1+1*2^2+0*2^3+1*2^4

2+4+16 =22

小数部分正序负数幂
1101

(1*2^-1)+ (1*2^-2) + (0*2^-3) +(1*2^-4)


0.5 * 0.25+ 0 + 0.0625 =0.8125

22.8125

 

 

 ----

 HEX色和rgb色

最大的4位八进制数是7777,即十进制的7*8^3 + 7*8^2 + 7*8^1 + 7*8^0 = 4095。
最大的4位十六进制数是FFFF,即十进制的15*16^3 + 15*16^2 + 15*16^1 + 15*16^0 = 65535。  6位FFFFFF  到了  16777215,我们俗称的1600万色

 

 

16进制让计算机用更小的位数标识更大的数字可以,4位16进制是4位十进制的6.5倍 ,6位已经是十进制的数百倍了,极其节省空间

懂了这些知识就可以做一个简单的颜色拾取器,rgb 和 16进制色怎么转换呢?

FFFFFF= 256^3-1   

16进制  2^16 

如此便有了 (HEX)000000  = (rgb)1 0 0

 

0x开头代表16进制

0x开头的0x12其十进制值是18
如果不以0x开头 12就是12
就这点区别
如果你的常量里面本来就有字母,如abc12d就默认为十六进制数

 

如何给变量赋16进制的值。 难道程序里用16进制是装b吗

 

十六进制的表现形式比较直观,与二进制转换方便,而计算机全部都是二进制的,在程序调试时程序的二进制的数据以每四位一组构成一个个十六进制数,即提高编译速度(二进制转十进制速度慢一些)又可直观的表现数据的状态,大大提高工作效率,这在单片机开发中尤为突出。

 

 

 


posted on 2015-09-29 14:33  viewcozy  阅读(3627)  评论(0编辑  收藏  举报