进制间的转换颜色,rgb转16进制怎么转
2018-10-26 15:14:26 责任编辑:戏言 10人 927人
rgb我们都是知道它是代表颜色的意思,rgb转16进制该怎么转换呢。进制之间的转换有什么技巧的吗,16进制转10进制和十进制转十六进制是一样的吗,下面梦悠小编就来说说进制间的转换。
一、颜色rgb转16进制怎么转换
正常的 RGB 颜色的有效范围,是从 0 到 16,777,215 (0xFFFFFF)。每种颜色的设置值都是一个四字节的整数。对于这个范围内的数,其高字节都是 0,而低三个字节,从最低字节到第三个字节,分别定义了红、绿、蓝三种颜色的值。红、绿、蓝三种成分都是用 0 到 255 (0xFF) 之间的数表示。因此,可以用十六进制数按照下述语法来指定颜色:0xBBGGRR,BB 指定蓝颜色的值,GG 指定绿颜色的值,RR 指定红颜色的值。每个数段都是两位十六进制数,即从 00 到 FF。
简单的说,rgb(red,green,blue)这里red、green、blue都是10进制数,只要把它们分别转换成16进制数并且保留两位,然后再组合在一起就得到了16进制的颜色值。
例如:rgb(0,255,255)转16进制,先分别转0(10)=00(16),255(10)=FF(16),255(10)=FF(16),组合得到0x00FFFF。又如rgb(255,0,0),先转换255(10)=FF,0(10)=00(16),0(10)=00(16),再组合得到0xFF0000。
二、16进制转10进制怎么转换
16进制转10进制:
像10进制数一样的说,把16进制数看成有个位数,十位数,百位数……
将“个位数”乘上16的0次方(*16^0),
将“十位数”乘上16的1次方(*16^1),
将“百位数”乘上16的2次方(*16^2),
最后将所有上面得到的数加起来就是他的十进制数了
例如:将16进制的 (10A) 转换成10进制的数
A*1=10
0*16=0
1*16^2=256
所以所得的数为10+0+256=266
10进制转16进制:
这个有点麻烦……
将给定的十进制整数除以基数16,余数便是等值的16进制的最低位。
将上一步的商再除以基数16,余数便是等值的16进制数的次低位。
重复上一步骤,直到最后所得的商等于0为止。各次除得的余数,便是16进制各位的数,最后一次的余数是最高位
例如:10进制的 (100) 变为16进制
先把100除以16,得到6余数为4,则“个位数”为4;
用6除以16,得到0余数为6,则“十位数”为6。所以100的16进制为“64”。
依此类推。
注:
A=10 B=11 C=12 D=13 E=14 F=15
三、十进制转十六进制怎么转换
1.十进制转化为十六进制:分为整数部分和小数部分转换,两部分转换方式不同。
(1)整数部分转换方式:采用除以16,倒取余。例如279:首先,279除以16商17余7;再用上一步的商17除以16,商1余1;再用上一步的商1除以16,商0余1。一直到商数为0终止。让后把每一步的余数倒着取出来,即把最后的余数放到第一位,把第一次得到的余数放到最后,279转换成的16进制就是117。
(2)小数部分转换方式:采用乘以16,顺取整。例如0.85:首先,0.85乘以16得13.6,取整数为13(即十六进制的D);再用上一步的乘积13.6的小数部分0.6乘以16得9.6,取整数为9;再用0.6乘以16,得9.6,取整数为9;依次进行下去,一直到小数部分为0为止,或者到满足一定的精确度为止。把得到的整数按照顺序取出来,就是0.D99。
所以279.85转换成十六进制数就是117.D99。
2。十进制数转换成八进制数和转换成十六进制数雷同,只是在整数部分转换把除以16改为除以8;在小数部分转换乘以16改为乘以8。
所以279.85转换成八进制数就是427.663。
