16进制和10进制的快速转换

在网络中,经常会用到16进制数字的就算,而大部分的情况是转换为10进制数字.在这里给出快速计算的方法,让你快速的进行进制转换

比如设置背景颜色,怎么快速的知道 #66ccff 转换 为 rgb(xx,xx,xx)  是多少呢,当然你可以使用计算器计算,不过如果可以直接口算出来的话就方便多了.

下面直接写结论,详细结论看这一段在知乎找的文章:

16进制 -> 10进制 十位数字X16 个位数字X1 ,百位数字X16的二次方,以此类推!一般情况只就算两位

10进制 -> 16进制 十位数字/16 各位数字/1 ...

然后我们就可以很容易的计算出 #66ccff = rgb(102,204,255) 了

详细文章:

一十进制就是逢十进一(0,1,2,3,4,5,6,7,8,9,后面就要进位才能表示了)

十六进制就是逢十六进一(0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,后面就要进位才能表示了)

所谓进制就是单个数不能表示时要用二位数及二位数以上的数表示的处理办法.其实可以任意进制,只是要用起来方便罢了,比如时间就是60进制,纪年中的世纪是一百进度,圆的一周用度数表示时是360进制.

十进制: 34 就是 3 * 10^1 + 4 * 10^0

而在十六进制中: 34就是 3 * 16^1 + 4 * 16^0 (转换成十进制只需乘出

结果就行了,得52,即十六进制中的34为十进制中的52)

十进制化为十六进制就是除16的办法: 34除以16,得2余2,即为22,即十进制中的34

这十六进制中的22

(即:十六进制化成十进制是乘16,十进制化成十六进制是除16)

事实上,k(k是正整数)进制数逢k进一这么个意义,一个十进制数可写成

a(n)*10^n+...+a(1)*10+a(0)+a(-1)*10^(-1)+... (a(i)表示0—9中的某个数)

同样,k进制数有形式:

b(n)*k^n+...+b(1)*k+b(0)+b(-1)*k^(-1)+... (b(i)表示0—(k-1)中的某个数)

当一个k进制数要转化为十进制数时,用上式直接计算即可;而当十进制数要转化为k进制数时,则对其整数部分除k取余,对其小数部分则乘k取整,此过程下以十进制转化十六进制为例举一例:

十进制数1673.59375

1673/16=104...9 , 104/16=6...8 , 6/16=0...6;

0.59375*16=9.5 (取9), 0.5*16=8.0 (取8).

所以十进制数1673.59375转化为十六进制数后为: 986.98

二数的进制和进制转换

考虑一个10进制数123,数字1、2、3在这个数中的重要性是不一样的,3代表的是100的3倍,2代表101的2倍,而1代表的则是102的1倍。数学上把100,101和102称为对应数位上的权重(简称权),分别表示了对应位上的数字对整个数值的“贡献”。对于10进制数来说,各位权从小到大分别是100、101、102……,都是10的各次幂。对于各位上的数字,我们称为某权的系数,简称系数。

其他进制数也存在同样的问题,例如2进制数各位权重分别是2的各次幂,8进制数是8的各次幂等等。

需要说明的是,各种进制数都是人们为了理解数而进行的一种表述,在计算机计算过程中,是不存在进制这种概念的,对于C语言表示数的三种形式:0x12(16进制)、18(10进制)和022(8进制),在内存中都是一样的。

如果已经知道一个数k,在某种进制w条件下,计算各位的系数一般采用除余法,基本算法如下:

首先估计这个数的最大位数N

n = N,divisor = wn-1

b(n) = k / divisor, k = k % divisor,divisor = divisor /w,n --

如果n ==0算法结束 ,否则转3

例如对于C语言中的unsigned char 类型,最大可能为3位8进制数,如果已经知道一个数n=252,计算8进制的过程如下:

N =3

n = N,divisor = 8n-1 = 64

b(3) = 252 / 64 = 3, k = k % 64 =60,divisor = divisor /8 = 8,n -- = 2

b(2) = 60/8 = 7,k = k %8 =4,divisor = 8/8 =1,n = 1

b(1) = k / 1= 4 ,k=k %1 =0,divisor = 1/8,n = 0

n == 0算法结束

计算结果252就是8进制数0374

如果不按照上面的幂次方式规定各位数的权,也可以定义一些特殊的进制数。例如,我们按照从小到大顺序分别规定各位的权重分别为w(n),n=1,2,3....,(注意,必须满足w(n) | w(m),n<= m,也就是低位权必须能整除高位权)已知一个数计算各位系数也一样可以采用修正后的除余法。修正后的除余法为:

首先估计这个数的最大位数N

n = N,divisor = w(n)

b(n) = k / divisor, k = k % divisor,n--,divisor = w(n)

如果n ==0算法结束 ,否则转3

可见,当w(n) = bn时,这个修正的除余法就和开始的除余法等价了

如果需要在不同进制间转换,最简单的方法是先把一种不容易进行四则运算的进制转换成容易进行四则运算的10进制,然后利用除余法转换成给定的进制。例如对于022,很容易利用权的定义计算出他的10进制形式为2 * 81 + 2 * 80 = 18,转换成16进制利用除余法可以得到为0x12。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,219评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,363评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,933评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,020评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,400评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,640评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,896评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,597评论 0 199
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,327评论 1 244
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,581评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,072评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,399评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,054评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,083评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,849评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,672评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,585评论 2 270

推荐阅读更多精彩内容

  • Test test
    lisheng阅读 167评论 0 0
  • 如何写的 在现在的练习中,其实感觉如果要是写完无论如何也要在用一个小时间来完成这一千字的容。尝试过在路上写,或者先...
    查理大魔王阅读 465评论 0 0
  • 醒来哗哗雨,是谁整夜啼? 千年情不绝,一朝拥相泣。 可恨王母薄,玉簪划银河。 此情天地鉴,年年雨滂沱。 只教天下人...
    简远山人阅读 217评论 5 8
  • 突然就发现,为什么自己就一直没合适的对象?别人介绍的好多都看不中。也有个别看不中我的。大概就是我喜欢的那种类型,他...
    十七星阅读 193评论 0 0