一篇說清楚大端和小端

端是什么?

“我們常說的大端小端模式是計算機中?字節順序(Endianness)?常見的兩種表現形式。(此外還有混合序 (Middle-Endian))

“endian”一詞來源于十八世紀愛爾蘭作家喬納森·斯威夫特(Jonathan Swift)的小說《格列佛游記》(Gulliver's Travels)。小說中,小人國為水煮蛋該從大的一端(Big-End)剝開還是小的一端(Little-End)剝開而爭論,爭論的雙方分別被稱為“大端派”和“小端派”。”

上文來自《深入理解計算機系統》。

大端小端指的是內存中字節存儲的順序,從高往低是大端,從低往高是小端。

是大端還是小端是由什么決定?

是由CPU決定的,內存因為CPU而決定大端、小端的展現形式。

怎么知道自己的CPU是大端序還是小端序?

    int checkCPU(void)  {  union  {  int a;  char b;  }c;  c.a = 1;  return (c.b == 1);  }

?

定義一個整型變量test并初始化為1。使用指針類型轉換將整型變量test的地址轉換為字符指針類型。通過訪問該字符指針的第一個元素(即最低位字節),判斷其值是否為1。如果第一個元素的值為1,則輸出"小端",表示計算機采用小端字節序;否則輸出"大端",表示計算機采用大端字節序。

#include <stdio.h>
int main()
{int test=1;if(((char *)&test)[0]){printf("小端");}else{printf("大端");}return 0;
}

知道了這個有什么用?

模塊通訊,網絡傳輸,這些都需要我們知道字節的發送順序。

網絡字節序:TCP/IP各層協議將字節序定義為Big-Endian,因此TCP/IP協議中使用的字節序通常稱之為網絡字節序.
高/低字節定義:在十進制中我們都說靠左邊的是高位,靠右邊的是低位,在其他進制也是如此。就拿 0x12345678來說,從高位到低位的字節依次是0x12、0x34、0x56和0x78.

有大端為什么要有小端?有小端為什么要有大端?

大端更符合人類閱讀習慣,小端更具性能優勢。個人更傾向小端。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/41072.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/41072.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/41072.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux上從NCBI序列

要下載NCBI Gene數據庫中所有Gene ID的FASTA格式序列&#xff0c;可以使用以下方法&#xff1a; 使用Entrez Direct命令行工具 安裝Entrez Direct: conda install bioconda::entrez-direct使用Entrez Direct下載FASTA格式序列: esearch -db gene -query "(Triticum aes…

C++ 空間和時間高效的二項式系數(Space and time efficient Binomial Coefficient)

這里函數采用兩個參數n和k&#xff0c;并返回二項式系數 C(n, k) 的值。 例子&#xff1a; 輸入&#xff1a; n 4 和 k 2 輸出&#xff1a; 6 解釋&#xff1a; 4 C 2 等于 4!/(2!*2!) 6 輸入&#xff1a; n 5 和 k 2 輸出&#xff1a; 10 解釋&#xff1a; 5 C …

海思SD3403/SS928V100開發(14)WIFI模塊RTL8821驅動調試

1.前言 芯片平臺: 海思SD3403/SS928V100 操作系統平臺: Ubuntu20.04.05【自己移植】 WIFI模塊: LB-LINK的RTL8821 2. 調試記錄 參考供應商提供的操作手冊 2.1 lsusb查看設備 2.2 編譯供應商提供的驅動 2.2.1 修改Makefile 2.2.2 編譯報錯 解決辦法: 將Makefile中arm…

linux中 nginx+tomcat 部署方式 tomcat掛掉設置自動啟動

在Linux環境下&#xff0c;要實現當Tomcat掛掉后自動重啟&#xff0c;可以通過編寫Shell腳本結合cron定時任務或者使用系統守護進程&#xff08;如Systemd、Upstart或SysVinit&#xff09;來完成。 使用Shell腳本和cron定時任務 編寫檢查并重啟Tomcat的Shell腳本&#xff1a;首…

取證與數據恢復:冷系統分析,實時系統分析與鏡像分析之間的過渡辦法

天津鴻萌科貿發展有限公司是 ElcomSoft 系列取證軟件的授權代理商。 ElcomSoft 系列取證軟件 ElcomSoft 系列取證軟件支持從計算機和移動設備進行數據提取、解鎖文檔、解密壓縮文件、破解加密容器、查看和分析證據。 計算機和手機取證的完整集合硬件加速解密最多支持10,000計…

MMSC物料庫位擴充

MMSC物料庫位擴充 輸入事務碼MMSC&#xff1a; 回車后添加新的庫位即可&#xff1a; 代碼實現&#xff0c;使用BDC *&------------------------------------------------* *&BDC的定義 *&------------------------------------------------* DATA gt_bdcdata T…

ggrcs包4.0版本發布—重新對密度圖寬度進行了設計

目前本人寫的ggrcs包新的4.0版本已經在CRAN上線&#xff0c;目前支持邏輯回歸&#xff08;logistic回歸&#xff09;、cox回歸和多元線性回歸。 需要的可以使用代碼安裝 install.packages("ggrcs")如果原來安裝了舊版本&#xff0c;重新在安裝一次就可以升級到新版…

如何選擇小紅書矩陣系統

在內容營銷領域&#xff0c;小紅書已成為一個不可忽視的平臺&#xff0c;尤其是對于品牌和個人創作者來說。小紅書矩陣系統&#xff0c;指的是一系列策略和工具&#xff0c;它們可以幫助用戶在小紅書上高效地管理和分發內容。本文將探討如何選擇適合自己需求的小紅書矩陣系統&a…

(18)GPS/指南針(二)

文章目錄 前言 3 GPS驅動程序選項 4 GPS自動切換 5 高級用途 前言 Copter/Plane/Rover 支持與 GPS、指南針和其他定位技術的整合&#xff1a; 3 GPS驅動程序選項 GPS_DRV_OPTIONS 參數提供了幾個 GPS 操作選項。這個參數是一個位掩碼&#xff0c;允許同時進行多個選項的選…

Oracle數據庫的日志切換策略

Oracle數據庫的日志切換策略是確保數據庫穩定運行和事務連續性的關鍵機制之一。以下是對Oracle日志切換策略的詳細解析 1、自動日志切換 1.1、重做日志切換&#xff1a; Oracle數據庫使用重做日志文件&#xff08;Redo Log Files&#xff09;來保證實例恢復。當當前的重做日…

YOLOv8數據集可視化[目標檢測實踐篇]

先貼代碼,后面再補充解析。 這個篇章主要是對標注好的標簽進行可視化,雖然比較簡單,但是可以從可視化代碼中學習到YOLOv8是如何對標簽進行解析的。 下面直接貼代碼: import cv2 import numpy as np import osdef read_det_labels(label_file_path):with open(labe…

藍橋杯開發板STM32G431RBT6高階HAL庫學習FreeRtos——完成第一個小項目點燈

一、配置LED引腳(注意引腳都配置為高電平) 二、新建兩個任務&#xff0c;一個為動態創建&#xff0c;一個靜態創建&#xff08;以后大多數情況進行動態創建&#xff09;//將兩個優先級設置成一樣 補充&#xff1a; 1.FreeRTOS創建靜態任務和動態任務的各自優缺點 靜態任務和動…

react框架,使用vite和nextjs構建react項目

react框架 React 是一個用于構建用戶界面(UI)的 JavaScript 庫,它的本質作用是使用js動態的構建html頁面&#xff0c;react的設計初衷就是為了更方便快捷的構建頁面&#xff0c;官方并沒有規定如何進行路由和數據獲取&#xff0c;要構建一個完整的react項目&#xff0c;我們需要…

微信小程序:圖片轉icon

svg方式 通過svg圖片的方式也能實現自定義icon。但是相比第一種方式&#xff0c;svg圖片可以修改顏色&#xff0c;并且縮放的失真率也比較低。不過小程序wxss并不支持加載本地的svg圖片。我們可以通過在線(https://www.sojson.com/image2base64.html)svg轉base64的方式在wxss中…

Java中的線程調度與性能優化技巧

Java中的線程調度與性能優化技巧 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; 1. 引言 在Java應用程序中&#xff0c;線程調度和性能優化是提升系統響應速…

3D技術賦能電商行業:“人-貨-場”視角下的新變革!

在當今數字化時代&#xff0c;3D技術正以前所未有的方式賦能電商行業&#xff0c;在提升用戶體驗&#xff0c;優化商品展示&#xff0c;以及打造沉浸式的購。物場景上&#xff0c;重塑了電商行業的面貌&#xff0c;深刻改變著消費者的購物體驗和商家的營銷策略。 51建模網作為專…

Eclipse 菜單:深入解析與高效使用技巧

Eclipse 菜單:深入解析與高效使用技巧 Eclipse 是一款廣泛使用的集成開發環境(IDE),它為Java、C++、PHP等編程語言提供了一個強大的開發平臺。Eclipse 的菜單是其用戶界面的一部分,提供了豐富的功能和選項,以幫助開發者更高效地工作。本文將深入解析 Eclipse 的菜單系統…

視圖庫對接系列(GA-T 1400)九、視圖庫對接系列(本級)機動車數據推送

背景 在上幾章中,我們已經可以將視圖庫的平臺寫到我們的數據庫中了。 換句話說就已經接入我們的平臺了,這幾期的話,我們就對接設備, 將設備的數據接入到我們平臺來。 機動車數據推送 接入機動車數據推送相對比較簡單,我們只需要實現對應的接口就ok了。 具體如圖: 有增…

RRStudio 下載及安裝(詳盡版)

R語言來自S語言&#xff0c;是S語言的一個變種。S語言、C語言、Unix系統都是貝爾實驗室的研究成果。R 語言是一種解釋型的面向數學理論研究工作者的語言&#xff0c;主要用于統計分析、繪圖、數據挖掘。 R 語言自由軟件&#xff0c;免費、開放源代碼&#xff0c;支持各個主要計…

Emacs有什么優點,用Emacs寫程序真的比IDE更方便嗎?

Emacs 是一個功能強大的文本編輯器&#xff0c;它在開發者和程序員中非常受歡迎&#xff0c;主要優點包括&#xff1a; 可定制性&#xff1a;Emacs 允許用戶通過 Lisp 編程語言來自定義編輯器的行為和界面&#xff0c;幾乎可以修改任何方面。擴展性&#xff1a;擁有大量的擴展…