zoukankan      html  css  js  c++  java
  • 经典笔试题:用C写一个函数测试当前机器大小端模式

    “用C语言写一个函数测试当前机器的大小端模式”是一个经典的笔试题,如下使用两种方式进行解答:

    1. 用union来测试机器的大小端

     1 #include <stdio.h>
     2 
     3 union test
     4 {
     5     int a;
     6     char b;
     7 };
     8 
     9 int endian_test(void)
    10 {
    11     union test t1;
    12     t1.a = 1;
    13     return t1.b;
    14 }
    15 
    16 int main(void)
    17 {
    18     int i = endian_test();
    19     if(i == 1)
    20     {
    21         printf("is little endian.
    ");
    23     }
    24     else
    25     {
    26         printf("is big endian.
    ");
    28     }
    29     
    30     printf("i = %d.
    ", i);
    31     
    32     return 0;
    33 }

    2. 用指针测试机器大小端

    1 #include <stdio.h>
    2 
    3 int main()
    4 {
    5   int a = 1;
    6   char b = *((char *)&a);
    7 
    8   return 0;    
    9 }

    注: 通信系统中,通信双方数据传送方式中,先发低字节的方式叫小端,先发高字节的方式叫大端。

  • 相关阅读:
    Linux面试题大全
    数据库学习002
    数据学习001
    003
    002
    001
    金蝶清空日志数据库脚本
    表格批量导入金蝶专业版销售订单
    金蝶单据清空记账标志
    金蝶单据字段审核后可修改
  • 原文地址:https://www.cnblogs.com/CYP01/p/6416263.html
Copyright © 2011-2022 走看看