怎么确认一台电脑是big-endian 还是little-endian?

假设我们使用的是一台32位机器。

如果是little endian, 那么x在内存中是之样排列的

      高内存
       ---->
  +----+----+----+----+
  |0x01|0x00|0x00|0x00|
  +----+----+----+----+
  A
  |
  &x
所以 (char*)(*x) == 1

如果是big endian,它将会是这个样子

      高内存
       ---->
  +----+----+----+----+
  |0x00|0x00|0x00|0x01|
  +----+----+----+----+
  A
  |
  &x
所以 (char*)(*x) == 0
#include <stdio.h>
#include <stdint.h>

int is_big_endian(void)
{
	union {
		uint32_t i;
		char c[4];
	} e = {0x10000000};

	return e.c[0];
}

int main(void)
{
	printf("System is %s -endian.\n", is_big_endian() ? "big" : "little");

	return 0;
}
时间: 2024-10-11 00:25:11

怎么确认一台电脑是big-endian 还是little-endian?的相关文章

如何在同一台电脑使用不同的账号提交到同一个github仓库

最近这段时间使用github,有时在公司办公,想要用git提交代码到自己的github仓库,提交是显示的作者是自己在公司的账户,而不是自己的github账户,这就相当于提交到github的代码不是自己本人提交的,是其他人提交的. 现在的情况是这样的:在公司我们也是使用git来管理代码,我们公司内部有自己的git仓库(B),提交代码时用的账户就是公司的oa账号(A).而我自己有时候在家里做开发的时候,就是用自己注册github账户(C)提交代码到自己账户下的github仓库(D).现在有时候在公司

在同一台电脑上同时安装Python2和Python3

目前Python的两个版本Python2和Python3同时存在,且这两个版本同时在更新与维护. 到底是选择Python2还是选择Python3,取决于当前要使用的库.框架支持哪个版本. 例如:HTMLTestRunner.locustio支持Python2,但是不支持Python3. 所以很多时候,一台电脑上需要同时安装Python2和Python3. 本篇内容主要讲一下,在同一台电脑上如何同时安装Python2和Python3,且均可以正常使用pip. 一.安装Python2(以及pip)

怎样在同一台电脑使用不同的账号提交到同一个github仓库

近期这段时间使用github.有时在公司办公,想要用git提交代码到自己的github仓库,提交是显示的作者是自己在公司的账户.而不是自己的github账户.这就相当于提交到github的代码不是自己本人提交的,是其它人提交的. 如今的情况是这种:在公司我们也是使用git来管理代码.我们公司内部有自己的git仓库(B).提交代码时用的账户就是公司的oa账号(A). 而我自己有时候在家里做开发的时候.就是用自己注冊github账户(C)提交代码到自己账户下的github仓库(D). 如今有时候在公

两台电脑使用ROS通讯

一.ROS分布式多机通讯简介 ROS是一种分布式软件框架,节点之间通过松耦合的方式组合,在很多应用场景下,节点可以运行在不同的计算平台上,通过Topic,Service通信. 但是各个节点只能共同拥有一个Master,在多机系统中Master只能运行在一台机器上,其他机器通过ssh方式和Master取得联系.所以多机ROS系统需要进行一些配置. 二.两台电脑的ROS通讯配置 两台机器的hostname与IP假设如下: 主机名与IP地址为:A     IP_A 从机名与IP地址为:B    IP_

2Ubuntu下nfs服务器搭建,Linux多台电脑共享目录

 1安装nfs(网络文件系统)服务器 共享的原理: 安装命令: sudo apt-get install nfs-kernel-server 2设置/etc/exports配置文件 添加以下这行配置 其中: *表示所有ip,如果想指定ip,可以把*换成你自己的ip地址. rw:表示只读权限,如果想变成只读的,修改配置为ro sync:表示同步的方式.任何人对这个目录的修改,其它人都可以看到. 3.在用户目录下创建nfs目录 4.重启服务器,发现有4个OK,这时候说明配置成功了. 5.磁盘挂载

如何在同一台电脑(windows系统)上同时搭建python2和python3环境

我们都知道python现在主要使用的有2个版本2.x和3.x,而这2个版本的语法却有很多的不同,python3.x并不是向下兼容2.x的.虽然说3.x是未来python的主流,但是很多工具和个人还是倾向于python2.x.所以在同一台电脑上安装2个python版本就很有必要了. 1.首先到python官网(https://www.python.org/downloads/)下载2个版本的安装包. 2.安装包都下载完成后,双击开始安装,全部默认即可. 3.安装完成后复制安装的路径,python2

一台电脑安装多个版本的jdk

我们平时在做Java开发的时候,有时需要使用多个版本的jdk, 那么一台电脑上需要安装多个JDK了. 那一台电脑上可不可以同时安装多个版本的jdk呢? 答案是可以的! 但使用的时候,只能使用一个,不能同时使用,需要切换. 下面讲讲怎么操作吧  呵呵 ! 1.安装   这个就不需要将了,和平时安装jdk一样!不过环境变量的配置,先不弄,等下一步. 2. JDK版本间的切换 a) 修改注册表: HKEY_LOCAL_MACHINE  -----> SOFTWARE   -----> JavaSof

安卓手机屏幕投射到电脑以及一台电脑控制多台手机技术原理浅析

奥创软件研究院推出的奥创微群控让越来越多的人了解到了电脑控制手机的操作.自奥创软件研究院首家发布电脑批量控制手机的解决方案以来,有很多人开始探讨电脑控制手机技术在实际工作中的应用. 由于市场太大,仅靠奥创软件研究院一家也是做不过来的,现在将手机屏幕投射到到电脑的技术原理,以及一台电脑批量控制多台手机的技术(即所谓的手机反响控制)简单的给大家介绍下,在此抛砖引玉,希望能给大家一些思路上的指导. 说到安卓手机的屏幕投射,就不得不说安卓的adb,ADB的全称为Android Debug Bridge这

Input Director 一套键盘鼠标同时控制多台电脑

Input Director 一套键盘鼠标同时控制多台电脑 下载安装 通过搜索或直接到页面底部网盘下载,完成下载后,双击exe文件即可进入安装界面,勾选"I accept"同意协议单击"Next",选择安装路劲,单击"Install"开始安装: 显示如下界面单击"Close"关闭界面即可完成安装(控制端和被控端电脑都进行安装,安装步骤相同): 配置控制端(本机可以控制谁) 首先将鼠标键盘接到控制端电脑(配置完成后默认移动鼠标,