1. 程式人生 > >一、基礎部分-1.進制轉換

一、基礎部分-1.進制轉換

進制轉換

一、計算機為啥使用二進制?
  • 參考:https://www.zhihu.com/question/20830886 (簡單易懂)

二、Python進制轉換

1. 進制表示

  • 2進制 01
  • 8進制 01234567
  • 10進制 0123456789
  • 16進制 0123456789ABCDEF

2. 二進制轉換函數

  • 2進制-->10進制:

    #使用int函數
    >>> int("11111111",2) 
    255
  • 2進制-->8進制:

    #使用oct函數
    >>> oct(8)
    ‘0o10‘
  • 2進制-->16進制:
    #使用hex、int函數組合(先使用int轉換成10進制,在使用10進制轉換成2進制)
    >>> hex(int("11111111",2))
    ‘0xff‘

3. 八進制-轉換函數

  • 8進制->2進制

    #使用int、bin函數組合(先使用int函數轉換成10進制,在使用10進制轉換成2進制)
    >>> bin(int(‘10‘,8))
    ‘0b1000‘
    >>>
  • 8進制-->10進制

    #使用int函數
    >>> int(‘10‘,8)
    8
  • 8進制-->16進制
    #使用int、hex函數組合(先使用int函數轉換成10進制,在使用10進制轉換成16進制)
    >>> hex(int("17",8))
    ‘0xf

4. 十進制-轉換函數

  • 10進制-->2進制

    #使用bin函數
    >>> bin(255)
    ‘0b11111111‘
    >>>
  • 10進制-->8進制

    #使用oct函數
    >>> oct(8)
    ‘0o10‘
  • 10進制-->16進制

    #使用hex函數
    >>> hex(15)
    ‘0xf‘

    5. 十六進制-轉換函數

  • 16進制->2進制

    #使用int、bin函數組合(先使用int函數轉換成10進制,在使用10進制轉換成2進制)
    >>> bin(int(‘ff‘,16))
    ‘0b11111111‘
    >>>
  • 16進制-->8進制

    #使用int、oct函數組合(先使用int函數轉換成10進制,在使用10進制轉換成8進制)
    >>> oct(int(‘ff‘,16))
    ‘0o377‘
  • 16進制-->10進制
    #使用int函數
    >>> int(‘f‘,16)
    15

三. 其他

  1. 16進制轉換2進制--取4合1法
二進制  :   1011 1001 1011 1001
十六進制 :   B    9    B    9

說明:通常看到1個16進制的數是這樣的;0x61  ("H"後綴、或者0x前綴的,都是16進制)

一、基礎部分-1.進制轉換