计算机网络单位换算


MB/s和Mb/s是有区别的。其中大B代表Byte(字节),小b代表bit(比特 或位)。

1Byte=8bit

速率单位换算 进率是10^3

速率指的是数据的传送速率,也称数据率或比特率,它的单位是bit/s,bit/s可以写成b/s、bps.
当它的数据率较高时,我们通常在它前面加上k(千)、M(兆)、G(吉)、T(太)等,它们之间的进率是10^3。所以:

1Kb/s = b/s; 1 M/s = b/s; 1Gbit/s = bit/s;

字节与比特之间单位换算 进率是10^2

1 KB = 1024Byte,1 MB = 1024KB,1GB = 1024MB
1Byte = 8bit
1MB/s = 1024KB/s (  128KB/s = 128×8(bit/s)= 1024kb/s = 1Mb/s)

原文链接:https://blog.csdn.net/qq_40515156/article/details/103756138

// 先存进去
这样数据如果是负数就会出错,应该这样 int e = ((d<<24) & 0xff000000) | ((c<<16) & 0x00ff0000) | ((b<<8) & 0x0000ff00) | (a & 0x000000ff);
// 方法一 :memcpy
unsigned int a = &e;
unsigned char buf[4];
memcpy(buf,  &a,  4);
// 观察buf数组的4个元素的值,是不是就是0x78  0x56  0x34  0x12
// 方法二 :取出来
buf[0]  = e >> 24;     
buf[1] = e >> 16;
buf[2] = e >> 8;
buf[3] = e;
// 方法三
union data{
    unsigned int a;
    unsigned char tab[4];                                                                                                          
}test;  
            test.a = &e;
            printf("%u\n",test.tab[0]);
            printf("%u\n",test.tab[1]);

把char装进int里

// 传入四个变量la、lb、lc、ld;
int ConvertTo32(int la, int lb, int lc, int ld)
{
// la将作为高字节,lb作为次高字节,lc作为次低字节,ld作为低字节;
// la左移24位和0xffffff按位或得到新的la; 
 la = 0XFFFFFF | (la << 24);
// lb左移16位和0xff00ffff按位或得到新的lb;
 lb = 0XFF00FFFF | (lb << 16);
// lc左移8位和0xffffff00按位或得到新的lc;
 lc = 0XFFFF00FF | (lc << 8);
// ld和0xffffff00按位或得到新的ld;
 ld = 0XFFFFFF00 | ld;
 return la&lb&lc&ld;
} 


原文链接:https://blog.csdn.net/qq_26392163/article/details/84872165

高位字节,低位字节

一般一个16位(双字节)的数据,比如 FF1A  (16进制)
那么高位字节就是FF,低位是1A

如果是32位的数据,比如  3F68415B
高位字(不是字节)是3F68
低位字是415B

C语言中的高位字节和低位字节是什么意思?

通常从最高有效位开始自左向右书写一个数字。在理解有效位这个概念时,可以想象一下你的支票数额的第一位增加1和最后一位增加1之间的巨大区别,前者肯定会让你喜出望外。

计算机内存中一个字节的位相当于二进制数的位,这意味着最低有效位表示1,倒数第二个有效位表示2×1或2,倒数第三个有效位表示2×2×1或4,依此类推。如果用内存中的两个字节表示一个16位的数,那么其中的一个字节将存放最低的8位有效位,而另一个字节将存放最高的8位有效位,见图。存放最低的8位有效位的字节被称为最低有效位字节或低位字节,而存放最高的8位有效位的字节被称为最高有效位字节或高位字节。

16位和32位的数是怎么存储的?

一个16位的数占两个字节的存储空间,即高位字节和低位字节(见上图)。如果是在纸上书写一个16位的数,你总是会把高位字节写在前面,而把低位字节写在后面。然而,当这个数被存储到内存中时,并没有固定的存储顺序。

如果用M和L分别表示高位字节和低位字节,那么可以有两种方式把这两个字节存储到内存中,即M在前L在后或者L在前M在后。把M存储在前的顺序被称为“正向(forward)”或“高位优先顺序;把L存储在前的顺序被称为“逆向”或“低位优先”顺序。

大多数计算机按正向顺序存储一个数,Intel CPU按逆向顺序存储一个数,因此,如果试图将基于Intel CPU的计算机连到其它类型的计算机上,就可能会引起混乱。

一个32位的数占4个字节的存储空间,如果我们按有效位从高到低的顺序,分别用Mm,Ml,Lm和Ll表示这4个字节,那么可以有4!(4的阶乘,即24)种方式来存储这些字节。在过去的这些年中,人们在设计计算机时,几乎用遍了这24种方式。然而,时至今天,只有两种方式是最流行的,一种是(Mm,MI,Lm,LD,也就是高位优先顺序,另一种是(Ll,Lm,Ml,Mm),也就是低位优先顺序。和存储16位的数一样,大多数计算机按高位优先顺序存储32位的数,但基于Intel CPU的计算机按低位优先顺序存储32位的数。

[原文链接]https://www.cnblogs.com/cuijl/p/8005741.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM