計算機網絡單位換算


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