八比特組是一種計算機語言,意思是網際網路標準使用八位組。在傳統的二進制數字概念中,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;}