三九宝宝网宝宝教育教学论文

C语言编写一个程序确定机器是大端法还是小端法机器

02月25日 编辑 39baobao.com

[用C语言编写一个计算薪水的程序]/*工资计算程序*/ #include main() { float originWage; /*应发工资*/ float realWage; /*实发工资*/ float tax; /*所缴税款*/ int i,hour,amount,money; printf("请选择工资种...+阅读

大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;

小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低。

下面这段代码可以用来确定机器是大端法还是小端法机器:

short x;

char x0;

x=0x1122;

x0=((char*)&x)[0]; //低地址单元

if(x0==0x11)printf("大端\n");

else printf("小端\n");

用c语言写个函数测试处理器是大端还是小端程序怎么写

写一个函数判断系统是大端还是小端。若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1.

大端格式:在这种格式中,字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中

小端格式:与大端存储格式相反,在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节

联合体union的存放顺序是所有成员都从低地址开始存放。

Int checkCPU ()

{

Union w

{

Int a;

Char b;

}c;

c.a=1;

return (c.b==1);

}

UNIX 网络编程 第一卷 78页 (英文版) 给出了这样一段代码:

PS: 下面代码中的unp.h是Stevens 老大自己定义的一个头文件,具体的代码在这本书的附录里有给出来.

代码

1

2 #include "unp.h"

3

4 int main(int argc ,char ** argv)

5 {

6

7 union {

8 short s;

9 char c[sizeof(short)];

10 }un;

11 un.s = 0x0102;

12 printf("%s\n",CPU_VENDOR_OS);

13

14 if(sizeof(short) == 2)

15 {

16 if(un.c[0] == 1 & un.c[1] ==2 )

17 printf("big-endian\n");

18 else if (un.c[0] == 2 & un.c[1] == 1)

19 printf("little-endian\n");

20 else printf("unknow");

21 }else

22 printf ( "sizeof(short) = %d\n",sizeof(short));

23 exit(0);

24 }

25

以下为关联文档:

用C语言编写的代码程序 B A可立即执行 B是一个源程序 CC语言写的代码程序肯定是源程序,B是对的,它不能立即执行,必须经过编译成可执行代码, 所以A是错误的; 如果这个源程序中不含有main函数,编译后的代码也是不可执行的,所以C是错误的; C...

用c语言编写一个简单的程序main() { int a,b,i; bool flag = true; for (i = 0; i < 6; i++) { scanf("%d", &a); if (flag) { b = a; flag = false; } else { if (b > a) b = a; } } prinf("%d", b); }...

求助C语言编写一个简单的程序#include "stdio.h" #include "conio.h" #include "stdlib.h" void main( ) { FILE *fp; int flag,t; printf("输入1为输入数据,0为求平均数并输出\n"); scanf("%d",&flag); if (flag) {...

编写一个测试程序检查一个C语言程序中括号的配对情况头文件:(另存为SeqStack.h)typedef struct{ DataType stack[MaxStackSize]; int top;} SeqStack;void StackInitiate(SeqStack *S) /*初始化顺序堆栈S*/{ S->top = 0; /*定义初...

用c语言编写一个程序实现以下功能1 2 3 4 5 6 7 8 9 10 #include "stdio.h" intmain(intargc,char*argv[]){ 5261int a,b; doublex,y; charch1,ch2; printf("Please enter the data...\n"); scanf("%d%d%lf%lf %c...

请大家编写一个C语言程序#include<stdio.h> int main() { int a[3][5],i,j,min; printf ("input a[][]:\n"); for (i=0;i<3;i++) { for(j=0;j<5;j++) scanf("%d",&a[i][j]); } min=a[0][0]; for(i=0;i<3...

C语言编写一个图形程序#include <stdio.h> void doprint(int i,int n) { int j; for(j=1;j<n+1-i;j++) { printf("%s"," "); } for(j=1;j<i+1;j++) { printf("%s","* "); } printf("%s","\n"); } void main()...

编写一个简单的C语言程序#include "stdio.h" #include "string.h" #define N 300 void main(){ char a[N],sum='\0'; int i=0,k; printf("input the number:"); scanf("%s",a); k=strlen(a); printf("%d",sum)...

C语言的可执行程序是由一系列机器指令构成的第一课C语言程序设计基础 本课主要知识点: 1.知识点:C程序基础 l C语言是一种结构化程序设计语言。三种基本结构:顺序、选择、循环。 例1:(209-11)以下关于结构化程序设计的叙...

推荐阅读
图文推荐