字节顺序

news/2024/7/15 16:56:45
字节顺序


#include <stdio.h>

typedef int* int_ptr;
typedef unsigned char* byte_ptr;


void show_bytes( byte_ptr start, int len ){

	int i;

	for( i = 0; i < len; ++i ){
		printf( " %4.2x", start[i] );
	}

	printf( "\n" );

}


void show_int( int x ){
	show_bytes( ( byte_ptr ) &x, sizeof( int ) );
}


void show_float( float x ){
	show_bytes( ( byte_ptr ) &x, sizeof( float ) );
}


void show_ptr( void* x ){
	show_bytes( ( byte_ptr ) &x, sizeof( void* ) );
}


void test_show_bytes( int val ){

	int ival   = val;
	float fval = ( float ) ival;
	int* pval  = &ival;

	show_int( ival );
	show_float( fval );
	show_ptr( pval );

}


int main(){

	/*
		Machine | value   | type  | byte( hexadecimal ) |
		-------------------------------------
		Linux   | 12345   | int   | 39 30 00 00
		NT      | 12345   | int   | 39 30 00 00
		Sun     | 12345   | int   | 00 00 30 39 ( big endian )
		Alpha   | 12345   | int   | 39 30 00 00
		--------------------------------------
		Linux   | 12345.0 | float | 00 e4 40 46
		NT      | 12345.0 | float | 00 e4 40 46
		Sun     | 12345.0 | float | 46 40 e4 00
		Alpha   | 12345.0 | float | 00 e4 40 46
		--------------------------------------
		Linux   | &ival   | int*  | 3e fa ff bf
		NT      | &ival   | int*  | 1c ff 44 02
		Sun     | &ival   | int*  | ef ff fc e4
		Alpha   | &ival   | int*  | 80 fc ff 1f 01 00 00 00
	*/

	test_show_bytes( 12345 );

	return 0;

}


posted on 2017-04-25 18:28 mthoutai 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/mthoutai/p/6763660.html


http://www.niftyadmin.cn/n/1791008.html

相关文章

Java原型模式--拷贝

package com.xianyu.prototype;import java.util.Date;/*** author xianyu* version 1.0* date 2020/3/15 21:36* 复制视频源文件* 1. 实现一个接口* 2. 重写一个方法*/ public class Video implements Cloneable{ // 实现一个接口private String name;private Date createTim…

GPA低于2.0被开除

GPA低于2.0被开除&#xff08; Q 575121832&#xff09; GPA太低会被开除吗&#xff1f; GPA是衡量学生学术水平的一个重要指标。一般而言&#xff0c;如果连续两学期&#xff0c;本科生的GPA达不到2.0、研究生的GPA达不到3.0&#xff0c;都有可能面临被学校劝退或开除的情况。…

5294 挖地雷

5294 挖地雷 时间限制: 1 s 空间限制: 1000 KB题目等级 : 黄金 Gold题目描述 Description在一个地图上有N个地窖&#xff08;N<20&#xff09;&#xff0c;每个地窖中埋有一定数量的地雷。同时&#xff0c;给出地窖之间的连接路径。当地窖及其连接的数据给出之后&#xff0c…

sysbench的框架实现介绍

sysbench是一个非常经典的综合性能测试工具&#xff0c;它支持CPU&#xff0c;IO&#xff0c;内存&#xff0c;尤其是数据库的性能测试。那它是怎么做到通用性的呢&#xff0c;总结一句话是大量运用了重载的方法。 sysbench总体架构 sysbench是一个总体框架&#xff0c;它用来操…

Appium Android Bootstrap源代码分析之简单介绍

在上一个系列中我们分析了UiAutomator的核心源代码&#xff0c;对UiAutomator是怎么执行的原理有了根本的了解。今天我们会開始另外一个在安卓平台上基于UiAutomator的新起之秀--Appium的源代码分析之旅。本文在真个系列中会扮演一个简单介绍的角色&#xff0c;不会分析不论什么…

Friedman test 和 Bonferroni-Dunn test 整理

Friedman test 和 Bonferroni-Dunn test 是作者写论文时遇到的,经查阅相关文献&#xff0c;内容整理如下&#xff0c;如有错误&#xff0c;还望指正。

webservice接口与HTTP接口学习笔记

一、webservice 的概念 Web 是使应用程序可以与平台和编程语言无关的方式进行相互通信的一项技术。Web 服务是一个软件接口&#xff0c;它描述了一组可以在网络上通过标准化的 XML 消息传递访问的操作。它使用基于 XML 语言的协议来描述要执行的操作或者要与另一个 Web 服务交换…

公司某项眼下端技术积累

最佳实践 BootStrap jquery jquery插件 sea.js/require.js Grunt 前期技术选型 BootStrap Backbone.js require.js jquery插件ExtJSAngular.jsBootStrap jquery jquery插件前端技术选型总结&#xff1a; 之所以选择 BootStrap jquery jquery插件 的原因是由于ExtJS或…