欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語(yǔ)言判斷大小端的兩種方法

 更新時(shí)間:2024年02月12日 10:30:10   作者:fiance111  
大小端的問題在很多面試筆試中都會(huì)遇到,本文主要介紹了C語(yǔ)言判斷大小端的兩種方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

首先,什么是大小端存儲(chǔ)方式?

  • 大端(存儲(chǔ))模式,是指數(shù)據(jù)的低位保存在內(nèi)存的高地址中,而數(shù)據(jù)的高位,保存在內(nèi)存的低地址中;
  • 小端(存儲(chǔ))模式,是指數(shù)據(jù)的低位保存在內(nèi)存的低地址中,而數(shù)據(jù)的高位,,保存在內(nèi)存的高地址中。

方法一:使用強(qiáng)制類型轉(zhuǎn)換

int is_byteorder(int* p)
{
	return *(char*)p;//強(qiáng)制類型轉(zhuǎn)換,將精度跳得更高一點(diǎn)
}
int main()
{
	int n = 1;
	int ret = is_byteorder(&n);
	if (ret == 1)
	{
		printf("小端\n");
	}
	else
	{
		printf("大端\n");
	}
	return 0;
}

方法二:利用聯(lián)合體數(shù)據(jù)存儲(chǔ)的特點(diǎn)

聯(lián)合體里面的數(shù)據(jù)會(huì)共用同一塊內(nèi)存,改變其中一個(gè)數(shù)據(jù)的值,其他數(shù)據(jù)的值可能也會(huì)隨之變化

int is_byteorder(int* p)
{
	union un {  //定義一個(gè)聯(lián)合體類型
		int i;
		char c;
	}u;
	u.i = 1;//修改i的值,c的值也會(huì)隨之發(fā)生變化
	return u.c;
}
int main()
{
	int n = 2;
	int ret = is_byteorder(&n);
	if (ret == 1)
	{
		printf("小端\n");
	}
	else
	{
		printf("大端\n");
	}
	return 0;
}

如果將 i 改為1,如果是小端存儲(chǔ),就會(huì)將01存儲(chǔ)到 c 中,就會(huì)返回1

到此這篇關(guān)于C語(yǔ)言判斷大小端的兩種方法的文章就介紹到這了,更多相關(guān)C語(yǔ)言判斷大小端內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語(yǔ)言中獲取進(jìn)程識(shí)別碼的相關(guān)函數(shù)

    C語(yǔ)言中獲取進(jìn)程識(shí)別碼的相關(guān)函數(shù)

    這篇文章主要介紹了C語(yǔ)言中獲取進(jìn)程識(shí)別碼的相關(guān)函數(shù),分別為getpid()函數(shù)和getppid()函數(shù)的使用,需要的朋友可以參考下
    2015-08-08
  • C++字符數(shù)組、字符數(shù)組指針和string類

    C++字符數(shù)組、字符數(shù)組指針和string類

    這篇文章主要介紹了C++字符數(shù)組、字符數(shù)組指針和string類,string是一個(gè)類而不是基本數(shù)據(jù)類型,數(shù)組不含有處理函數(shù),下面更多詳細(xì)內(nèi)容,需要的小伙伴可以參考下面文章
    2022-03-03
  • 簡(jiǎn)單了解C語(yǔ)言中直接插入排序與直接選擇排序?qū)崿F(xiàn)

    簡(jiǎn)單了解C語(yǔ)言中直接插入排序與直接選擇排序?qū)崿F(xiàn)

    這篇文章主要介紹了C語(yǔ)言中直接插入排序與直接選擇排序?qū)崿F(xiàn),插入排序的基本操作就是將一個(gè)數(shù)據(jù)插入到已經(jīng)排好序的有序數(shù)據(jù)中,從而得到一個(gè)新的、個(gè)數(shù)加一的有序數(shù)據(jù),需要的朋友可以參考下
    2016-03-03
  • C語(yǔ)言數(shù)組任意位置插入一個(gè)元素方法

    C語(yǔ)言數(shù)組任意位置插入一個(gè)元素方法

    這篇文章主要給大家分享C語(yǔ)言數(shù)組任意位置插入一個(gè)元素方法,
    2021-11-11
  • 淺談C++左值引用和右值引用

    淺談C++左值引用和右值引用

    下面小編就為大家?guī)硪黄獪\談C++左值引用和右值引用。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • 詳解_beginthreadex()創(chuàng)建線程

    詳解_beginthreadex()創(chuàng)建線程

    這篇文章主要介紹了詳解_beginthreadex()創(chuàng)建線程,使用_beginthreadex(),需要的頭文件支持#include <process.h> 下面我們就來看看具體的實(shí)現(xiàn)吧
    2022-01-01
  • 提升編程能力的C語(yǔ)言技巧總結(jié)

    提升編程能力的C語(yǔ)言技巧總結(jié)

    這篇文章主要為大家總結(jié)了一些C語(yǔ)言技巧的相關(guān)資料,可以幫助大家大大提升編程能力。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-12-12
  • C語(yǔ)言驅(qū)動(dòng)開發(fā)之內(nèi)核文件的讀寫

    C語(yǔ)言驅(qū)動(dòng)開發(fā)之內(nèi)核文件的讀寫

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言驅(qū)動(dòng)開發(fā)中內(nèi)核文件的讀寫的系列函數(shù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-06-06
  • C語(yǔ)言版學(xué)生信息管理系統(tǒng)

    C語(yǔ)言版學(xué)生信息管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言版學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • C++ std::bind用法詳解

    C++ std::bind用法詳解

    這篇文章主要介紹了C++ std::bind用法詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09

最新評(píng)論