> 教育经验 > 什么是八比特组介绍

什么是八比特组介绍

什么是八比特组介绍

八比特组是一种计算机语言,意思是因特网标准使用八位组。在传统的二进制数字概念中,1 byte(字节)=8 bit(位)。大多数因特网标准使用八位组(octet)这个术语而不是使用字节来表示8位的量。该术语起始于TCP/IP发展的早期,当时许多早期的工作是在诸如DEC-10这样的系统上进行的,然而这些系统的结构使用的字节(byte)长度是10位(bit),因此出现了octet的单位,即准确定义 1 octet = 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地址也可以被写成FE800123:4567:89AB:CDEF。

八比特组八位前缀

在1998年由国际电工委员会标准可以使用八位位组与SI前缀或二进制前缀(2的幂前缀)。

1、kibioctet (Kio)

= 2octets

= 1024octets

1、mebioctet (Mio)

= 2octets

= 1024Kio

= 1048576octets

1、gibioctet (Gio)

= 2octets

= 1024Mio

= 1073741824octets

1、tebioctet (Tio)

= 2octets

= 1024Gio

= 1099511627776octets

1、pebioctet (Pio)

= 2octets

= 1024Tio

= 1125899906842624octets

1、exbioctet (Eio)

= 2octets

= 1024Pio

= 1152921504606846976octets

1、zebioctet (Zio)

= 2octets

= 1024Eio

= 1180591620717411303424octets

1、yobioctet (Yio)

= 2octets

= 1024Zio

= 1208925819614629174706176octets

如果前缀是giga,tera等,保持同国际标准单位,基于10。在这种情况下:

1、kilooctet (ko)

= 10octets

= 1000octets

1、megaoctet (Mo)

= 10octets

= 1000ko

= 1000000octets

1、gigaoctet (Go)

= 10octets

= 1000Mo

= 1000000000octets

1、teraoctet (To)

= 10octets

= 1000Go

= 1000000000000octets

1、petaoctet (Po)

= 10octets

= 1000To

= 1000000000000000octets

1、exaoctet (Eo)

= 10octets

= 1000Po

= 1000000000000000000octets

1、zettaoctet (Zo)

= 10octets

= 1000Eo

= 1000000000000000000000octets

1、yottaoctet (Yo)

= 10octets

= 1000Zo

= 1000000000000000000000000octets

八比特组二比特转八比特

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