• 2.,8,10,16


          16进制:用16作为基数的计数系统。用数字0-9和字母a-f(或其大写A-F)表示10到15。
      十六进制数转换成十进制数
      2进制,用两个阿拉伯数字:0、1;
      8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7;
      10进制,用十个阿拉伯数字:0到9;
      16进制,用十六个阿拉伯数字……等等,阿拉伯人或说是印度人,只发明了10个数字啊?
      16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这六个字母来分别表示10,11,12,13,14,15。字母不区分大小写。
      十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……
      所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方。
      ...........................................................
      N进制的数可以用0---(N-1)的数表示超过9的用字母A-F 
      例如: 
      10进制的32表示成16进制就是:20 
      16进制的32表示成10进制就是:3×16^1+2×16^0=50 
      6.1 为什么需要八进制和十六进制? 
      编程中,我们常用的还是10进制……毕竟C/C++是高级语言。 
      比如: 
      int a = 100,b = 99; 
      不过,由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决问题。 
      但,二进制数太长了。比如int 类型占用4个字节,32位。比如100,用int类型的二进制数表达将是: 
      0000 0000 0000 0000 0110 0100 
      面对这么长的数进行思考或操作,没有人会喜欢。因此,C,C++ 没有提供在代码直接写二进制数的方法。 
      用16进制或8进制可以解决这个问题。因为,进制越大,数的表达长度也就越短。不过,为什么偏偏是16或8进制,而不其它的,诸如9或20进制呢? 
      2、8、16,分别是2的1次方,3次方,4次方。这一点使得三种进制之间可以非常直接地互相转换。8进制或16进制缩短了二进制数,但保持了二进制数的表达特点。在下面的关于进制转换的课程中,你可以发现这一点。 

  • 相关阅读:
    【UVa 1592】Database
    【UVa 400】Unix ls
    【UVa 136】Ugly Numbers
    【UVa 540】Team Queue
    【Uva 12096】The SetStack Computer
    【POJ 1050】To the Max
    【UVa 156】Ananagrams
    【UVa 10815】Andy's First Dictionary
    [HNOI/AHOI2018]转盘
    CF46F Hercule Poirot Problem
  • 原文地址:https://www.cnblogs.com/lizeyang/p/5494682.html
Copyright © 2020-2023  润新知