C语言 请教

flamesP 2019-08-14 04:18:35
#define AddrSizeof(SAddr,EAddr) (((Uint16)((Uint32)(EAddr) - (Uint32)(SAddr)) >> 1) + 1)
/*求取两个地址之间有多少个U16数据*/

求教这条语句的原理是什么?
...全文
66 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2019-08-14
  • 打赏
  • 举报
回复
理解讨论之前请先学会如何观察
赵4老师 2019-08-14
  • 打赏
  • 举报
回复
typedef unsigned short int Uint16;
typedef unsigned       int Uint32;
#define AddrSizeof(SAddr,EAddr) (               \
    (                                           \
        (Uint16)(                               \
            (Uint32)(EAddr) - (Uint32)(SAddr)   \
        ) >> 1                                  \
    ) + 1                                       \
)
/*求取两个地址之间有多少个U16数据*/
#include <stdio.h>
int main() {
    int i,j,s,e,a;

    for (i=0;i<=32;i++) {
        for (j=0;j<=32;j++) {
            s=i;
            e=i+j;
            a=AddrSizeof(s,e);
            printf("%2d..%2d 0x%02x..0x%02x %2d 0x%02x\n",s,e,s,e,a,a);
        }
    }
    return 0;
}
// 0.. 0 0x00..0x00  1 0x01
// 0.. 1 0x00..0x01  1 0x01
// 0.. 2 0x00..0x02  2 0x02
// 0.. 3 0x00..0x03  2 0x02
// 0.. 4 0x00..0x04  3 0x03
// 0.. 5 0x00..0x05  3 0x03
// 0.. 6 0x00..0x06  4 0x04
// 0.. 7 0x00..0x07  4 0x04
// 0.. 8 0x00..0x08  5 0x05
// 0.. 9 0x00..0x09  5 0x05
// 0..10 0x00..0x0a  6 0x06
// 0..11 0x00..0x0b  6 0x06
// 0..12 0x00..0x0c  7 0x07
// 0..13 0x00..0x0d  7 0x07
// 0..14 0x00..0x0e  8 0x08
// 0..15 0x00..0x0f  8 0x08
// 0..16 0x00..0x10  9 0x09
// 0..17 0x00..0x11  9 0x09
// 0..18 0x00..0x12 10 0x0a
// 0..19 0x00..0x13 10 0x0a
// 0..20 0x00..0x14 11 0x0b
// 0..21 0x00..0x15 11 0x0b
// 0..22 0x00..0x16 12 0x0c
// 0..23 0x00..0x17 12 0x0c
// 0..24 0x00..0x18 13 0x0d
// 0..25 0x00..0x19 13 0x0d
// 0..26 0x00..0x1a 14 0x0e
// 0..27 0x00..0x1b 14 0x0e
// 0..28 0x00..0x1c 15 0x0f
// 0..29 0x00..0x1d 15 0x0f
// 0..30 0x00..0x1e 16 0x10
// 0..31 0x00..0x1f 16 0x10
// 0..32 0x00..0x20 17 0x11
// 1.. 1 0x01..0x01  1 0x01
// 1.. 2 0x01..0x02  1 0x01
// 1.. 3 0x01..0x03  2 0x02
// 1.. 4 0x01..0x04  2 0x02
// 1.. 5 0x01..0x05  3 0x03
// 1.. 6 0x01..0x06  3 0x03
// 1.. 7 0x01..0x07  4 0x04
// 1.. 8 0x01..0x08  4 0x04
// 1.. 9 0x01..0x09  5 0x05
// 1..10 0x01..0x0a  5 0x05
// 1..11 0x01..0x0b  6 0x06
// 1..12 0x01..0x0c  6 0x06
// 1..13 0x01..0x0d  7 0x07
// 1..14 0x01..0x0e  7 0x07
// 1..15 0x01..0x0f  8 0x08
// 1..16 0x01..0x10  8 0x08
// 1..17 0x01..0x11  9 0x09
// 1..18 0x01..0x12  9 0x09
// 1..19 0x01..0x13 10 0x0a
// 1..20 0x01..0x14 10 0x0a
// 1..21 0x01..0x15 11 0x0b
// 1..22 0x01..0x16 11 0x0b
// 1..23 0x01..0x17 12 0x0c
// 1..24 0x01..0x18 12 0x0c
// 1..25 0x01..0x19 13 0x0d
// 1..26 0x01..0x1a 13 0x0d
// 1..27 0x01..0x1b 14 0x0e
// 1..28 0x01..0x1c 14 0x0e
// 1..29 0x01..0x1d 15 0x0f
// 1..30 0x01..0x1e 15 0x0f
// 1..31 0x01..0x1f 16 0x10
// 1..32 0x01..0x20 16 0x10
// 1..33 0x01..0x21 17 0x11
// 2.. 2 0x02..0x02  1 0x01
// 2.. 3 0x02..0x03  1 0x01
// 2.. 4 0x02..0x04  2 0x02
// 2.. 5 0x02..0x05  2 0x02
// 2.. 6 0x02..0x06  3 0x03
// 2.. 7 0x02..0x07  3 0x03
// 2.. 8 0x02..0x08  4 0x04
// 2.. 9 0x02..0x09  4 0x04
// 2..10 0x02..0x0a  5 0x05
// 2..11 0x02..0x0b  5 0x05
// 2..12 0x02..0x0c  6 0x06
// 2..13 0x02..0x0d  6 0x06
// 2..14 0x02..0x0e  7 0x07
// 2..15 0x02..0x0f  7 0x07
// 2..16 0x02..0x10  8 0x08
// 2..17 0x02..0x11  8 0x08
// 2..18 0x02..0x12  9 0x09
// 2..19 0x02..0x13  9 0x09
// 2..20 0x02..0x14 10 0x0a
// 2..21 0x02..0x15 10 0x0a
// 2..22 0x02..0x16 11 0x0b
// 2..23 0x02..0x17 11 0x0b
// 2..24 0x02..0x18 12 0x0c
// 2..25 0x02..0x19 12 0x0c
// 2..26 0x02..0x1a 13 0x0d
// 2..27 0x02..0x1b 13 0x0d
// 2..28 0x02..0x1c 14 0x0e
// 2..29 0x02..0x1d 14 0x0e
// 2..30 0x02..0x1e 15 0x0f
// 2..31 0x02..0x1f 15 0x0f
// 2..32 0x02..0x20 16 0x10
// 2..33 0x02..0x21 16 0x10
// 2..34 0x02..0x22 17 0x11
// 3.. 3 0x03..0x03  1 0x01
// 3.. 4 0x03..0x04  1 0x01
// 3.. 5 0x03..0x05  2 0x02
// 3.. 6 0x03..0x06  2 0x02
// 3.. 7 0x03..0x07  3 0x03
// 3.. 8 0x03..0x08  3 0x03
// 3.. 9 0x03..0x09  4 0x04
// 3..10 0x03..0x0a  4 0x04
// 3..11 0x03..0x0b  5 0x05
// 3..12 0x03..0x0c  5 0x05
// 3..13 0x03..0x0d  6 0x06
// 3..14 0x03..0x0e  6 0x06
// 3..15 0x03..0x0f  7 0x07
// 3..16 0x03..0x10  7 0x07
// 3..17 0x03..0x11  8 0x08
// 3..18 0x03..0x12  8 0x08
// 3..19 0x03..0x13  9 0x09
// 3..20 0x03..0x14  9 0x09
// 3..21 0x03..0x15 10 0x0a
// 3..22 0x03..0x16 10 0x0a
// 3..23 0x03..0x17 11 0x0b
// 3..24 0x03..0x18 11 0x0b
// 3..25 0x03..0x19 12 0x0c
// 3..26 0x03..0x1a 12 0x0c
// 3..27 0x03..0x1b 13 0x0d
// 3..28 0x03..0x1c 13 0x0d
// 3..29 0x03..0x1d 14 0x0e
// 3..30 0x03..0x1e 14 0x0e
// 3..31 0x03..0x1f 15 0x0f
// 3..32 0x03..0x20 15 0x0f
// 3..33 0x03..0x21 16 0x10
// 3..34 0x03..0x22 16 0x10
// 3..35 0x03..0x23 17 0x11
// 4.. 4 0x04..0x04  1 0x01
// 4.. 5 0x04..0x05  1 0x01
// 4.. 6 0x04..0x06  2 0x02
// 4.. 7 0x04..0x07  2 0x02
// 4.. 8 0x04..0x08  3 0x03
// 4.. 9 0x04..0x09  3 0x03
// 4..10 0x04..0x0a  4 0x04
// 4..11 0x04..0x0b  4 0x04
// 4..12 0x04..0x0c  5 0x05
// 4..13 0x04..0x0d  5 0x05
// 4..14 0x04..0x0e  6 0x06
// 4..15 0x04..0x0f  6 0x06
// 4..16 0x04..0x10  7 0x07
// 4..17 0x04..0x11  7 0x07
// 4..18 0x04..0x12  8 0x08
// 4..19 0x04..0x13  8 0x08
// 4..20 0x04..0x14  9 0x09
// 4..21 0x04..0x15  9 0x09
// 4..22 0x04..0x16 10 0x0a
// 4..23 0x04..0x17 10 0x0a
// 4..24 0x04..0x18 11 0x0b
// 4..25 0x04..0x19 11 0x0b
// 4..26 0x04..0x1a 12 0x0c
// 4..27 0x04..0x1b 12 0x0c
// 4..28 0x04..0x1c 13 0x0d
// 4..29 0x04..0x1d 13 0x0d
// 4..30 0x04..0x1e 14 0x0e
// 4..31 0x04..0x1f 14 0x0e
// 4..32 0x04..0x20 15 0x0f
// 4..33 0x04..0x21 15 0x0f
// 4..34 0x04..0x22 16 0x10
// 4..35 0x04..0x23 16 0x10
// 4..36 0x04..0x24 17 0x11
// 5.. 5 0x05..0x05  1 0x01
// 5.. 6 0x05..0x06  1 0x01
// 5.. 7 0x05..0x07  2 0x02
// 5.. 8 0x05..0x08  2 0x02
// 5.. 9 0x05..0x09  3 0x03
// 5..10 0x05..0x0a  3 0x03
// 5..11 0x05..0x0b  4 0x04
// 5..12 0x05..0x0c  4 0x04
// 5..13 0x05..0x0d  5 0x05
// 5..14 0x05..0x0e  5 0x05
// 5..15 0x05..0x0f  6 0x06
// 5..16 0x05..0x10  6 0x06
// 5..17 0x05..0x11  7 0x07
// 5..18 0x05..0x12  7 0x07
// 5..19 0x05..0x13  8 0x08
// 5..20 0x05..0x14  8 0x08
// 5..21 0x05..0x15  9 0x09
// 5..22 0x05..0x16  9 0x09
// 5..23 0x05..0x17 10 0x0a
// 5..24 0x05..0x18 10 0x0a
// 5..25 0x05..0x19 11 0x0b
// 5..26 0x05..0x1a 11 0x0b
// 5..27 0x05..0x1b 12 0x0c
// 5..28 0x05..0x1c 12 0x0c
// 5..29 0x05..0x1d 13 0x0d
// 5..30 0x05..0x1e 13 0x0d
// 5..31 0x05..0x1f 14 0x0e
// 5..32 0x05..0x20 14 0x0e
// 5..33 0x05..0x21 15 0x0f
// 5..34 0x05..0x22 15 0x0f
// 5..35 0x05..0x23 16 0x10
// 5..36 0x05..0x24 16 0x10
// 5..37 0x05..0x25 17 0x11
// 6.. 6 0x06..0x06  1 0x01
// 6.. 7 0x06..0x07  1 0x01
// 6.. 8 0x06..0x08  2 0x02
// 6.. 9 0x06..0x09  2 0x02
// 6..10 0x06..0x0a  3 0x03
// 6..11 0x06..0x0b  3 0x03
// 6..12 0x06..0x0c  4 0x04
// 6..13 0x06..0x0d  4 0x04
// 6..14 0x06..0x0e  5 0x05
// 6..15 0x06..0x0f  5 0x05
// 6..16 0x06..0x10  6 0x06
// 6..17 0x06..0x11  6 0x06
// 6..18 0x06..0x12  7 0x07
// 6..19 0x06..0x13  7 0x07
// 6..20 0x06..0x14  8 0x08
// 6..21 0x06..0x15  8 0x08
// 6..22 0x06..0x16  9 0x09
// 6..23 0x06..0x17  9 0x09
// 6..24 0x06..0x18 10 0x0a
// 6..25 0x06..0x19 10 0x0a
// 6..26 0x06..0x1a 11 0x0b
// 6..27 0x06..0x1b 11 0x0b
// 6..28 0x06..0x1c 12 0x0c
// 6..29 0x06..0x1d 12 0x0c
// 6..30 0x06..0x1e 13 0x0d
// 6..31 0x06..0x1f 13 0x0d
// 6..32 0x06..0x20 14 0x0e
// 6..33 0x06..0x21 14 0x0e
// 6..34 0x06..0x22 15 0x0f
// 6..35 0x06..0x23 15 0x0f
// 6..36 0x06..0x24 16 0x10
// 6..37 0x06..0x25 16 0x10
// 6..38 0x06..0x26 17 0x11
// 7.. 7 0x07..0x07  1 0x01
// 7.. 8 0x07..0x08  1 0x01
// 7.. 9 0x07..0x09  2 0x02
// 7..10 0x07..0x0a  2 0x02
// 7..11 0x07..0x0b  3 0x03
// 7..12 0x07..0x0c  3 0x03
// 7..13 0x07..0x0d  4 0x04
// 7..14 0x07..0x0e  4 0x04
// 7..15 0x07..0x0f  5 0x05
// 7..16 0x07..0x10  5 0x05
// 7..17 0x07..0x11  6 0x06
// 7..18 0x07..0x12  6 0x06
// 7..19 0x07..0x13  7 0x07
// 7..20 0x07..0x14  7 0x07
// 7..21 0x07..0x15  8 0x08
// 7..22 0x07..0x16  8 0x08
// 7..23 0x07..0x17  9 0x09
// 7..24 0x07..0x18  9 0x09
// 7..25 0x07..0x19 10 0x0a
// 7..26 0x07..0x1a 10 0x0a
// 7..27 0x07..0x1b 11 0x0b
// 7..28 0x07..0x1c 11 0x0b
// 7..29 0x07..0x1d 12 0x0c
// 7..30 0x07..0x1e 12 0x0c
// 7..31 0x07..0x1f 13 0x0d
// 7..32 0x07..0x20 13 0x0d
// 7..33 0x07..0x21 14 0x0e
// 7..34 0x07..0x22 14 0x0e
// 7..35 0x07..0x23 15 0x0f
// 7..36 0x07..0x24 15 0x0f
// 7..37 0x07..0x25 16 0x10
// 7..38 0x07..0x26 16 0x10
// 7..39 0x07..0x27 17 0x11
// 8.. 8 0x08..0x08  1 0x01
// 8.. 9 0x08..0x09  1 0x01
// 8..10 0x08..0x0a  2 0x02
// 8..11 0x08..0x0b  2 0x02
// 8..12 0x08..0x0c  3 0x03
// 8..13 0x08..0x0d  3 0x03
// 8..14 0x08..0x0e  4 0x04
// 8..15 0x08..0x0f  4 0x04
// 8..16 0x08..0x10  5 0x05
// 8..17 0x08..0x11  5 0x05
// 8..18 0x08..0x12  6 0x06
// 8..19 0x08..0x13  6 0x06
// 8..20 0x08..0x14  7 0x07
// 8..21 0x08..0x15  7 0x07
// 8..22 0x08..0x16  8 0x08
// 8..23 0x08..0x17  8 0x08
// 8..24 0x08..0x18  9 0x09
// 8..25 0x08..0x19  9 0x09
// 8..26 0x08..0x1a 10 0x0a
// 8..27 0x08..0x1b 10 0x0a
// 8..28 0x08..0x1c 11 0x0b
// 8..29 0x08..0x1d 11 0x0b
// 8..30 0x08..0x1e 12 0x0c
// 8..31 0x08..0x1f 12 0x0c
// 8..32 0x08..0x20 13 0x0d
// 8..33 0x08..0x21 13 0x0d
// 8..34 0x08..0x22 14 0x0e
// 8..35 0x08..0x23 14 0x0e
// 8..36 0x08..0x24 15 0x0f
// 8..37 0x08..0x25 15 0x0f
// 8..38 0x08..0x26 16 0x10
// 8..39 0x08..0x27 16 0x10
// 8..40 0x08..0x28 17 0x11
// 9.. 9 0x09..0x09  1 0x01
// 9..10 0x09..0x0a  1 0x01
// 9..11 0x09..0x0b  2 0x02
// 9..12 0x09..0x0c  2 0x02
// 9..13 0x09..0x0d  3 0x03
// 9..14 0x09..0x0e  3 0x03
// 9..15 0x09..0x0f  4 0x04
// 9..16 0x09..0x10  4 0x04
// 9..17 0x09..0x11  5 0x05
// 9..18 0x09..0x12  5 0x05
// 9..19 0x09..0x13  6 0x06
// 9..20 0x09..0x14  6 0x06
// 9..21 0x09..0x15  7 0x07
// 9..22 0x09..0x16  7 0x07
// 9..23 0x09..0x17  8 0x08
// 9..24 0x09..0x18  8 0x08
// 9..25 0x09..0x19  9 0x09
// 9..26 0x09..0x1a  9 0x09
// 9..27 0x09..0x1b 10 0x0a
// 9..28 0x09..0x1c 10 0x0a
// 9..29 0x09..0x1d 11 0x0b
// 9..30 0x09..0x1e 11 0x0b
// 9..31 0x09..0x1f 12 0x0c
// 9..32 0x09..0x20 12 0x0c
// 9..33 0x09..0x21 13 0x0d
// 9..34 0x09..0x22 13 0x0d
// 9..35 0x09..0x23 14 0x0e
// 9..36 0x09..0x24 14 0x0e
// 9..37 0x09..0x25 15 0x0f
// 9..38 0x09..0x26 15 0x0f
// 9..39 0x09..0x27 16 0x10
// 9..40 0x09..0x28 16 0x10
// 9..41 0x09..0x29 17 0x11
//10..10 0x0a..0x0a  1 0x01
//10..11 0x0a..0x0b  1 0x01
//10..12 0x0a..0
flamesP 2019-08-14
  • 打赏
  • 举报
回复
我想问的是求取这两地址之间数据个数为什么要这么算
csucxy 2019-08-14
  • 打赏
  • 举报
回复
这不是语句,这是宏
C语言课程设计是一个旨在帮助学生深入理解和应用C语言编程的实践项目。以下是一些关于C语言课程设计的基本步骤和建议: 明确目标和需求:首先,你需要与授课教师或课程设计的相关人员沟通,明确课程设计的需求。这包括了解课程设计的主题、目标以及需要解决的问题。这将有助于你确定设计的范围和方向。 选择项目主题:选择一个与C语言相关的项目主题。例如,你可以设计一个学生成绩管理系统、一个简单的文本编辑器或一个游戏等。确保所选主题既具有挑战性又能够展示你的C语言编程技能。 进行问题分析:一旦确定了项目主题,你需要对问题进行深入分析。这包括确定问题的输入和输出、理解问题的要求和限制条件,以及将复杂问题分解为更小的子问题。这将有助于你更好地理解和解决问题。 设计算法和数据结构:针对项目需求,设计合适的算法和数据结构。这包括确定如何存储和处理数据、如何设计函数和模块等。 编写代码:使用C语言编写代码,实现项目功能。注意遵守C语言的语法规则,确保代码的可读性和可维护性。 测试和调试:在编写完代码后,进行测试和调试。确保代码能够正确运行并满足项目需求。使用调试工具和技术来查找和修复代码中的错误。 文档编写:编写项目文档,包括项目说明、功能介绍、代码注释等。这将有助于其他人理解你的项目并复用你的代码。 提交和展示:最后,将你的课程设计项目提交给教师或相关人员,并在课堂上进行展示。展示时可以介绍项目的功能、实现过程以及遇到的挑战和解决方案等。 在进行C语言课程设计时,还需要注意以下几点: 遵守编程规范,包括变量命名、代码缩进、注释等。 充分利用C语言的特点和优势,如指针、结构体、文件操作等。 注重实践和应用,通过解决实际问题来加深对C语言的理解和应用能力。 在遇到困难时,及时向教师或同学请教,并查阅相关资料和文档。 通过以上步骤和建议,你可以完成一个高质量的C语言课程设计项目,并提升自己的编程能力和实践经验。

69,374

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧