进制转换

2进制 , 8进制 , 10进制 , 16进制 , 介绍 及 相互转换 及 快速转换的方法

为什么要使用进制数

数据在计算机中的表示,最终以二进制的形式存在 , 就是各种 <黑客帝国>电影中那些 0101010… 的数字 ;

我们操作计算机 , 实际 就是 使用 程序 和 软件 在 计算机上 各种读写数据,
如果我们直接操作二进制的话 , 面对这么长的数进行思考或操作,没有人会喜欢。

C,C++ 语言 没有提供在代码直接写二进制数的方法。
用16进制或8进制可以解决这个问题。
因为,进制越大,数的表达长度也就越短。

之所以 使用 16或8进制,而不其它的,诸如9或20进制 .

是因为2、8、16,分别是2的1次方、3次方、4次方。这一点使得三种进制之间可以非常直接地互相转换 ;

8进制或16进制 既 缩短了二进制数,还能 保持了二进制数的表达特点。转换还方便 .

进制的介绍

进制 : 是计算机中数据的一种表示方法。 N进制的数可以用0~(N-1) 的数表示, 超过9的用字母A-F 表示 .

  • 10进制
    先说 我们最 熟悉的 10进制 , 就是 用 0~9 的数表示 , 逢 10 进 1 .

  • 16进制
    如果是 16 进制 , 它就是 由 0-9,A-F组成, 与10进制的对应关系是:0-9 对应 0-9;A-F对应10-15;
    字母不区分大小写。

如何快速的进行 2进制,10进制,16进制 的 相互转换

先记住二进制 的8421
首先我们来看一个二进制数:1111,它是多少呢?
你可能还要这样计算:1×2º+1×2¹+1×2²+1×2³=1×1+1×2+1×4+1×8=15。

我们必须直接记住1111每一位的权值,并且是从高位往低位记,:8、4、2、1。 即,最高位的权值为2³=8,然后依次是 2²=4,2¹=2,2º=1。

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

  • 接下来我们练习 通过 8421 的方式 进行 快速的计算 , 2,10,16进制的转换
    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
    ……
    0001 = 0 + 0 + 0 + 1 = 1= 1
    0000 = 0 + 0 + 0 + 0 = 0= 0
  • 二进制数要转换为十六进制
    二进制数要转换为十六进制,就是以4位一段,分别转换为十六进制。
    如(上行为二制数,下面为对应的十六进制):
    1111 1101 , 1010 0101 , 1001 1011
    F D , A 5 , 9 B

  • 16进制数转换为二进制数
    反过来,当我们看到 FD时,如何迅速将此16进制数转换为二进制数呢?
    先转换F:
    看到F,我们需知道它是15(可能你还不熟悉A~F这五个数),然后15如何用8421凑呢?应该是8 + 4 + 2 + 1,所以四位全为1 :1111。
    接着转换D
    看到D,知道它是13,13如何用8421凑呢?应该是:8 + 4 + 1,即:1101。
    所以,FD转换为二进制数,为:1111 1101

  • 十进制数转换成2进制
    由于十六进制转换成二进制相当直接,所以,我们需要将一个十进制数转换成2进制数时,也可以先转换成16进制,然后再转换成2进制。
    比如,十进制数 1234转换成二制数,如果要一直除以2,直接得到2进制数,需要计算较多次数。所以我们可以先除以16,得到16进制数:
    被除数 计算过程 商 余数
    1234 1234/16 77 2
    77 77/16 4 13 (D)
    4 4/16 0 4
    结果16进制为:4D2
    然后我们可直接写出4D2的二进制形式:
    0100
    1101
    0010
    其中对映关系为:
    0100 – 4
    1101 – D
    0010 – 2

  • 二进制数转换成10进制数
    同样,如果一个二进制数很长,我们需要将它转换成10进制数时,除了前面学过的方法是,我们还可以先将这个二进制转换成16进制,然后再转换为10进制。

  • 下面举例一个int类型的二进制数:
    01101101 11100101 10101111 00011011
    我们按四位一组转换为16进制:6D E5 AF 1B
    十进制转十六进制
    采余数定理分解,例如将487710转成十六进制:
    487710÷16=30481….14(E)
    30481÷16=1905….1
    1905÷16=119….1
    119÷16=7….7
    7÷16=0….7
    这样就计到487710(10)=7711E(16)

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

推荐阅读更多精彩内容