A. x86處理器採用小端方式存儲多位元組數據嗎
Intel 80x86系列微處理器採用「小端方式」存放多位元組數據,即在內存中低地址存放低位元組、高地址存放高位元組,就是所謂「低對低、高對高」原則。
B. 大端存儲法還是小端存儲法對存儲數據有什麼要求與影響
大端排序的好處是接收數據的程序可以優先得到數據的最高位,以便快速反應。
比如我有一個控制溫度的上位機程序,該程序接收大端方式編碼的溫度信號0x00fe,對比原來的溫度值,假設是0x0135。那麼在接受第一個位元組0x00的時候,上位機就可以判斷溫度比原來下降了,可以立即發出指令打開加熱器。而對於小端排序的方式,上位機只有在接收到完整的兩個位元組的時候才能做出反應。如果採用串列通信,用只對信號的每一個位元組單獨校驗的話,波特率為9600時,大端編碼下,上位機的響應時間為1ms,小端排序方式下,上位機響應時間為2ms。這時,大端編碼就比小端排序更快。如果需要對完整的通信包進行校驗,則沒有區別。
在串列通信測試程序中,計算機顯示的位元組順序一般就是接收順序。如果用大端編碼的話,測試程序直接就可以顯示出從大到小排列好的數據。而小端排序的方向相反,可視性不好,容易看花眼掉。
結論是:1、串列通信(包括乙太網、WIFI、串口、USB等)如果採用大端編碼有時會使系統響應更快速。2、串列通信採用大端編碼有利於調試。
小端排序下,選定一個數據的起點後,只需要重復進位加法就可以實現高精度加法計算。減法也是一樣。數組的第0位固定是最低位。而大端方式下,如果高精度計算的精度可變,就很難確定數組的第0位到底代表多大。不同精度的計算還會產生數據對齊問題。比如早期的16位CPU中,int類型和long類型做加法,用小端排序就很容易從指針位置開始計算。而大端排序則非常復雜。加法運算是非常常用的運算,其性能直接影響程序的整體性能。所以CPU中要採用性能較好的小端排序。
由於CPU本身是小端排序,如果內存和文件也採用小端排序的話,就可以把文件中的數據直接存儲到內存中,再直接把內存中的數據存儲到CPU的寄存器。這樣不僅提高計算機的性能,程序也變得簡單。
結論是:所有直接與硬體有關的代碼都適合按小端排序
C. c中小端如何存放
【中小企業區域網網路管理方案】
1、限制部分電腦聯接互聯網
防止員工上班時間不自覺地瀏覽與工作無關網站,使用QQ、MSN等聊天,炒股、玩網路游戲、網路下載軟體、電影、音樂等浪費大量時間,工作效率降低。以及資料通過網路外泄的問題。
解決方法:利用現有路由器埠限制功能(簡單、方便、適用、免費);也可以考慮部署一些網管軟體:如國內有聚生網管,在控制網頁瀏覽、P2P下載、聊天、主機帶寬流量等方面功能非常不錯;如果資金充裕也可以考慮部署HP、Websense等國外網管軟體,功能強大,但費用不菲。
2、網路中的文件集中存放;分許可權訪問管控,特定的人訪問特定的文件,做特定的工作
解決方法:使用Windows 2003 Server伺服器+域的管理模式。在伺服器中設置好各客戶機的文件結構及員工賬號和密碼的分配。客戶端需要域的用戶名和密碼才能登陸,客戶機的桌面及Z盤都即時保存在伺服器端。公司任意電腦登陸自己的賬號即是自己的桌面和數據。訪問伺服器的文件按用戶許可權訪問。以前要是想訪問他人的電腦數據可能會出現共享不了以及共享的文件被不應該訪問的人員訪問。極不方便也不安全的相關問題。現在老闆可以隨時查看公司所有員工的文件資料。解決以前根本不可能的問題。
3、整個網路維護工作變得非常簡單,工作站電腦系統壞了,選擇一鍵還原系統即可
解決方法: 客戶機C盤分區統一分區10G。所有安裝程序OFFiCE及所需的軟體都安裝到C盤。並作好GHOST備份存放到D盤,需要的時候快速恢復,簡單,方便。如果安裝程序不統一存放到C盤這樣做好的系統備份恢復後不完整。往往還需要再次安裝應用程序才能用。
4、不在辦公室時隨時關閉電腦,節約能源。不影響數據之間的共享
解決方法:因為所有數據都集中存放到伺服器了,所以客戶機不需要開機,其它有需要的用戶也可以查看他人的文件。從而節約用電。15分種不用電腦時自動關閉顯示器、系統自動待機。
5、伺服器數據做到自動月備份、周備份、日備份且DVD光碟數據刻錄。降低數據誤刪、丟失等風險
解決方法: 首先伺服器需要一個硬碟作系統盤以及兩個硬碟組RAID1作數據存放。只有當數據盤的兩個硬碟同時壞掉才會丟失數據。並且我們平時會將RAID 1的數據也作一個自動月備份、周備份、日備份到系統盤中且數據作DVD月備份。所以您根本不用擔心數據丟失或誤刪的可能。
6、網路中無娛樂、無色情、無私人文件、無病毒
解決方法:首先我們已經限制了許多不上網的員工許可權。減少了感染病毒的機會。統一安裝殺毒軟體,解決無病毒的問題也就很容易實現了。
7、您可以讓客戶機不能插優盤等外接可移動磁碟
解決方法:將客戶機的USB埠物理打膠隔離+系統限制補丁+BIOS限制
嘿嘿,
D. 判斷一個機器使用的是大端存儲還是小端存儲
下面的程序可以判斷一台機器是大端存儲還是小端存儲。
[cpp]view plain
#include<stdio.h>
intmain(intargc,char**argv){
//聯合(union)中,所有成員引用的是內存中相同位置,
//由具體成員類型決定了這些位如何被解釋
union{
shorts;
charc[sizeof(short)];
}un;
un.s=0x0102;//16進制數中,02是低序位元組,01是高序位元組
if(sizeof(short)==2){
if(un.c[0]==1&&un.c[1]==2){
printf("big-endian ");
}elseif(un.c[0]==2&&un.c[1]==1){
printf("little-endian ");
}else{
printf("unknow ");
}
}else{
printf("sizeof(short)=%d ",sizeof(short));
}
return0;
}
E. 大端存儲方式和小端存儲方式的區別
採用大小模式對數據進行存放的主要區別在於在存放的位元組順序,大端方式將高位存放在低地址,小端方式將低位存放在高地址。採用大端方式進行數據存放符合人類的正常思維,而採用小端方式進行數據存放利於計算機處理。到目前為止,採用大端或者小端進行數據存放,其孰優孰劣也沒有定論。
F. 大端存儲與小端存儲對存儲數據的要求
大端小端針對多位元組數據存儲時位元組順序而言的。所謂"Little Endian",為INTEL所採用模式,數據的低位元組存放在內存低地址中,高位元組存放在高地址中,即學X86時說的「高高低低」原則。Byte3 Byte2 Byte1 Byte0在內存中對應的是:
Base Address+0 Byte0
Base Address+1 Byte1
Base Address+2 Byte2
Base Address+3 Byte3
所謂"Big Endian" ,為MOTO所採用模式,數據的低位元組存放在內存的高地址,數據的高位元組存放在內存的低地址。Byte3 Byte2 Byte1 Byte0在內存中對應的是:
Base Address+0 Byte3
Base Address+1 Byte2
Base Address+2 Byte1
Base Address+3 Byte0
Java使用的是大端序來存儲數據。big—endian:即低位元組的數據存儲在高位內存上,如對於1234,12是高位數據,34為低位數據,則java中的存儲格式應該為12存在內存的低地址,34存在內存的高地址,x86中的存儲格式與之相反。
G. 寫一段c語言代碼,來驗證處理器的存儲方式是大端存儲還是小端存儲
#include<stdio.h>
intmain(void)
{
int=0x12345678;
char*p=&;
inti=0;
for(i=0;i<4;i++)
printf("%X ",*p++);
return0;
}
H. 大端和小端存儲法是什麼兩者有什麼區別
小端:較高的有效位元組存放在較高的的存儲器地址,較低的有效位元組存放在較低的存儲器地址。
大端:較高的有效位元組存放在較低的存儲器地址,較低的有效位元組存放在較高的存儲器地址。
大端模式就是低位存放在高地址上。高位存放在地址上。
小端模式就是地位存放在低地址上。高位存放在高地址上。
例如,16bit寬的數0x1234在Little-endian模式CPU內存中的存放方式(假設從地址0x4000開始存放)為:
內存地址 0x4000 0x4001
存放內容 0x34 0x12
而在Big-endian模式CPU內存中的存放方式則為:
內存地址 0x4000 0x4001
存放內容 0x12 0x34
I. 大端存儲和小端存儲的區別
大端模式就是低位存放在高地址上。高位存放在地址上。
小端模式就是地位存放在低地址上。高位存放在高地址上。
例如,16bit寬的數0x1234在Little-endian模式CPU內存中的存放方式(假設從地址0x4000開始存放)為:
內存地址 0x4000 0x4001
存放內容 0x34 0x12
而在Big-endian模式CPU內存中的存放方式則為:
內存地址 0x4000 0x4001
存放內容 0x12 0x34
J. 大端存儲和小端存儲各自的優缺點是什麼
沒有什麼優缺點.
最好輸入輸出流,程序一致用同一種方式,全用big endian,或 little endian. 省去byte 交換。