当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++基础入门教程

csapp show-bytes

    csapp show-bytes


    /* $begin show-bytes */
    #include

    typedef unsigned char *byte_pointer;

    void show_bytes(byte_pointer start, int len)
    {
        int i;
        for (i = 0; i < len; i++)
     printf(" %.2x", start[i]);
        printf("\n");
    }

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

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

    void show_pointer(void *x)
    {
        show_bytes((byte_pointer) &x, sizeof(void *));
    }
    /* $end show-bytes */


    /* $begin test-show-bytes */
    void test_show_bytes(int val)
    {
        int ival = val;
        float fval = (float) ival;
        int *pval = &ival;
        show_int(ival);
        show_float(fval);
        show_pointer(pval);
    }
    /* $end test-show-bytes */

    void simple_show()
    {
    /* $begin simple-show */
    int val = 0x12345678;
    byte_pointer valp = (byte_pointer) &val;
    show_bytes(valp, 1); /* A. */
    show_bytes(valp, 2); /* B. */
    show_bytes(valp, 3); /* C. */
    /* $end simple-show */
    }

    void float_eg()
    {
    /* $begin float-show */
    int x = 3490593;
    float f = (float) x;
    show_int(x);
    show_float(f);
    /* $end float-show */
    }

    void string_eg()
    {
    /* $begin show-string */
    char *s = "ABCDEF";
    show_bytes(s, strlen(s));
    /* $end show-string */
    }

 

共2页 首页 上一页 1 2 下一页 尾页 跳转到
相关内容
赞助商链接