八比特組

八比特組

八比特組是一種計算機語言,意思是網際網路標準使用八位組。在傳統的二進制數字概念中,1 byte(位元組)=8 bit(位)。大多數網際網路標準使用八位組(octet)這個術語而不是使用位元組來表示8位的量。該術語起始於TCP/IP發展的早期,當時許多早期的工作是在諸如DEC-10這樣的系統上進行的,然而這些系統的結構使用的位元組(byte)長度是10位(bit),因此出現了octet的單位,即準確定義 1 octet = 8 bit。

中文名稱八比特組
英文名稱octet
定  義作為整體進行操作的八位二進制數字組。
套用學科通信科技(一級學科),通信原理與基本技術(二級學科)

基本介紹

  • 中文名:八比特組
  • 外文名:octet
  • 進制:1 byte(位元組)=8 bit(位)
起源,使用,八位前綴,二比特轉八比特,
Octets 有兩種不同的前綴,一種為 2 的多次方,另一種是國際單位制(SI,International System of Units)。2 的多次方的格式為國際電工委員會(International Electrotechnical Commission)在 1998 年所制定

起源

從歷史上看,這個術語octad(或octade)被用來專門表示8位至少在西歐;然而,這種用法今天不再常見。這個詞的確切起源尚不清楚,但它可以在英國找到,荷蘭和德國的訊息人士透露1960年代和1970年代整個飛利浦主機電腦的文檔均使用了這個詞。

使用

八位位元組在IPv4和IPv6使用八位位元組表示的網際網路協定網路地址。一個IPv4地址由四個八位位元組,通常顯示單獨作為一系列的十進制值從0到255,每一個都隔開句號(點)。使用與所有八個比特組八位位元組,表示最高的IPv4地址255.255.255.255編號。IPv6地址由16個八位位組,顯示使用十六進制表示每八隅體(兩位數),用冒號(:)在每一對八隅體可讀性,這樣FE80:0000:0000:0000:0123:4567:89AB:CDEF。如果兩個或多個連續八位位元組= 0取而代之的可能是後兩個冒號字元(::)但這只可以使用一次在一個給定的IPv6地址,以避免歧義。前面給出的IPv6地址也可以被寫成FE80::0123:4567:89AB:CDEF。

八位前綴

在1998年由國際電工委員會標準可以使用八位位組與SI前綴或二進制前綴(2的冪前綴)。
1kibioctet (Kio)
= 2octets
= 1024octets
1mebioctet (Mio)
= 2octets
= 1024Kio
= 1048576octets
1gibioctet (Gio)
= 2octets
= 1024Mio
= 1073741824octets
1tebioctet (Tio)
= 2octets
= 1024Gio
= 1099511627776octets
1pebioctet (Pio)
= 2octets
= 1024Tio
= 1125899906842624octets
1exbioctet (Eio)
= 2octets
= 1024Pio
= 1152921504606846976octets
1zebioctet (Zio)
= 2octets
= 1024Eio
= 1180591620717411303424octets
1yobioctet (Yio)
= 2octets
= 1024Zio
= 1208925819614629174706176octets
如果前綴是giga,tera等,保持同國際標準單位,基於10。在這種情況下:
1kilooctet (ko)
= 10octets
= 1000octets
1megaoctet (Mo)
= 10octets
= 1000ko
= 1000000octets
1gigaoctet (Go)
= 10octets
= 1000Mo
= 1000000000octets
1teraoctet (To)
= 10octets
= 1000Go
= 1000000000000octets
1petaoctet (Po)
= 10octets
= 1000To
= 1000000000000000octets
1exaoctet (Eo)
= 10octets
= 1000Po
= 1000000000000000000octets
1zettaoctet (Zo)
= 10octets
= 1000Eo
= 1000000000000000000000octets
1yottaoctet (Yo)
= 10octets
= 1000Zo
= 1000000000000000000000000octets

二比特轉八比特

#include <iostream>using namespace std;int main(){    char str[256];    cin.getline(str,256);    cout<<str<<endl;    int i=0;    while(str[i]!=0){        i++;    }    int j=i%3;    int t=0,k;    if(j==0)        j=3;    int n=(3-j+i)/3;    char str2[n+1];    i=0;    for(k=0;k<n;k++){        t=0;        while(i<k*3+j){            t=t<<1;            if(str[i]=='1')                t++;            i++;        }        str2[k]=t+0x30;    }    str2[k]=0;    cout<<str2<<endl;    return 0;}

相關詞條

熱門詞條

聯絡我們