X进制与Y进制转换

在上一篇文章中描述了二进制、八进制、十进制、十六进制的概念和表述方法,但是在计算机的世界中,只有0和1,所以除了二进制之外的其它X进制,计算机都是不能识别的;所以需要把他们转换为二进制之后才能在计算机上面运行

一、十进制转换二进制

注:如果是10进制转换2进制的话,那么只需要拿着10进制除以2,直到商为1或者0,然后拿着商和余数组成的一串0和1数字串就是该十进制数的二进制值

  1. 把5转换为2进制

    • 5/2 ——2——-1
    • 2/2 ——1——-0
    • 5除以2,除到最后商1,然后余数为0;所以5的二进制为:101;然后前面补0:00000101
  2. 把16转换为2进制

    • 16/2 ——8——-0
    • 8/2 ——4——-0
    • 4/2 ——2——-0
    • 2/2 ——1——-0
    • 16除以2,除到最后商为1,然后余数为0;所以16的二进制为:10000;然后前面补0:00010000
  3. 把99转换为2进制

    • 99/2 ——49 ——-1
    • 49/2 ——24 ——-1
    • 24/2 ——12 ——-0
    • 12/2 ——6 ——-0
    • 6/2 ——3 ——-0
    • 3/2 ——1 ——-1
    • 99除以2,除到最后商为1,然后余数为1;所以99的二进制为:1100011;然后前面补0:01100011

二、二进制表示十进制

注:如果是2制转换10进制的话,那么只需要把二进制串的每一位的值乘以2^索引值 [其所在串中的索引值(0开始从右向左)] 的和

  1. 00000101转换为10进制

    • 从右向左开始—–第0位—–1—–2^0 X 1——-1
    • 从右向左开始—–第1位—–0—–2^1 X 0——-0
    • 从右向左开始—–第2位—–1—–2^2 X 1——-4
    • 从右向左开始—–第3位—–0—–2^3 X 0——-0
    • 从右向左开始—–第4位—–0—–2^4 X 0——-0
    • 从右向左开始—–第5位—–0—–2^5 X 0——-0
    • 从右向左开始—–第6位—–0—–2^6 X 0——-0
    • 从右向左开始—–第7位—–0—–2^7 X 0——-0
    • 最终00000101二进制串对应的值为 1+0+4+0+0+0+0+0 = 5
  1. 00010000转换为2进制

    • 从右向左开始—–第0位—–0—–2^0 X 0——-0
    • 从右向左开始—–第1位—–0—–2^1 X 0——-0
    • 从右向左开始—–第2位—–0—–2^2 X 0——-0
    • 从右向左开始—–第3位—–0—–2^3 X 0——-0
    • 从右向左开始—–第4位—–1—–2^4 X 1——-16
    • 从右向左开始—–第5位—–0—–2^5 X 0——-0
    • 从右向左开始—–第6位—–0—–2^6 X 0——-0
    • 从右向左开始—–第7位—–0—–2^7 X 0——-0
    • 最终00010000二进制串对应的值为 0+0+0+0+16+0+0+0 = 16
  1. 01100011转换为2进制

    • 从右向左开始—–第0位—–1—–2^0 X 1——-1
    • 从右向左开始—–第1位—–1—–2^1 X 1——-2
    • 从右向左开始—–第2位—–0—–2^2 X 0——-0
    • 从右向左开始—–第3位—–0—–2^3 X 0——-0
    • 从右向左开始—–第4位—–0—–2^4 X 1——-0
    • 从右向左开始—–第5位—–1—–2^5 X 0——-32
    • 从右向左开始—–第6位—–1—–2^6 X 0——-64
    • 从右向左开始—–第7位—–0—–2^7 X 0——-0
    • 最终00010000二进制串对应的值为 1+2+0+0+0+32+64+0 = 99