成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

C語言面試篇1:判斷數(shù)據(jù)大小端存儲

一、前言

創(chuàng)新互聯(lián)專注于東坡企業(yè)網(wǎng)站建設,自適應網(wǎng)站建設,成都商城網(wǎng)站開發(fā)。東坡網(wǎng)站建設公司,為東坡等地區(qū)提供建站服務。全流程按需制作網(wǎng)站,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務

本節(jié),我們將學習C語言庫中數(shù)據(jù)存儲方式,并通過編寫代碼確定當前系統(tǒng)的數(shù)據(jù)存儲方式。

二、簡介

1.大端模式

大端模式是指數(shù)據(jù)的高字節(jié)保存在內存的低地址中,而數(shù)據(jù)的低字節(jié)保存在內存的高地址中。

2.小端模式

小端模式是指數(shù)據(jù)的高字節(jié)保存在內存的高地址中,而數(shù)據(jù)的低字節(jié)保存在內存的低地址中。

3.為什么會有大小端之分?

為什么會有大小端模式之分呢?這是因為在計算機系統(tǒng)中,我們是以字節(jié)為單位的,每個地址單元都對應著一個字節(jié),一個字節(jié)為 8bit。但是在C語言中除了8bit的char之外,還有16bit的short型,32bit的long型(要看具體的編譯器),另外,對于位數(shù)大于 8位的處理器,例如16位或者32位的處理器,由于寄存器寬度大于一個字節(jié),那么必然存在著一個如何將多個字節(jié)安排的問題。因此就導致了大端存儲模式和小端存儲模式。

4.圖例說明

圖中表示數(shù)據(jù)0x12345678的數(shù)據(jù)存儲方式。
C語言面試篇1:判斷數(shù)據(jù)大小端存儲

三、實例

1.指針方式

#include?<stdio.h>
int?is_big_endian(void)
{
????int?val?=?0x12345678;
????char?data?=?0;
????data?=?((char*)&val)[0];
????if?(0x12?==?data)
????{
????????return?1;
????}else?if(0x78?==?data)
????{
????????return?0;
????}
}
int?main(void)
{
????if?(1?==?is_big_endian())
????{
????????printf("system?is?large?endian!\r\n");
????}else?if?(0?==?is_big_endian())
????{
????????printf("system?is?small?endian!\r\n");
????}
????return?0;????
}

執(zhí)行結果如下:

C語言面試篇1:判斷數(shù)據(jù)大小端存儲

2.共用體方式

#include?<stdio.h>
union?udata
{
????int?a;
????char?b;
}data;
int?is_big_endian(void)
{
????data.a?=?0x12345678;
????if?(0x12?==?data.b)
????{
????????return?1;
????}else?if?(0x78?==?data.b)
????{
????????return?0;
????}
}
int?main(void)
{
????if?(1?==?is_big_endian())
????{
????????printf("system?is?large?endian!\r\n");
????}else?if?(0?==?is_big_endian())
????{
????????printf("system?is?small?endian!\r\n");
????}
????return?0;????
}

執(zhí)行結果如下:
C語言面試篇1:判斷數(shù)據(jù)大小端存儲

四、結語

如您在使用過程中有任何問題,請加QQ群進一步交流,也可以github提Issue。

QQ交流群:906015840 (備注:物聯(lián)網(wǎng)項目交流)

github倉庫地址:https://github.com/solitary-sand/c

一葉孤沙出品:一沙一世界,一葉一菩提

C語言面試篇1:判斷數(shù)據(jù)大小端存儲

本文題目:C語言面試篇1:判斷數(shù)據(jù)大小端存儲
當前URL:http://jinyejixie.com/article18/gpiigp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、品牌網(wǎng)站建設、App開發(fā)、小程序開發(fā)、網(wǎng)站設計公司云服務器

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設
库伦旗| 白河县| 汨罗市| 万年县| 山东省| 滦平县| 庄浪县| 深州市| 石门县| 肥东县| 漾濞| 望谟县| 宜章县| 金秀| 古丈县| 扎赉特旗| 政和县| 安岳县| 海伦市| 广南县| 乌恰县| 本溪市| 忻城县| 拉萨市| 临沧市| 玛曲县| 图们市| 南漳县| 若尔盖县| 和静县| 霍州市| 平湖市| 武汉市| 岑溪市| 禹州市| 云安县| 柳州市| 绍兴县| 旬阳县| 耒阳市| 高平市|