sách gpt4 ai đã đi

Biến đổi thứ tự hàng-chính ngược (cột)

In lại 作者:行者123 更新时间:2023-12-04 18:20:26 26 4
mua khóa gpt4 Nike

任何人都可以提供/引用多维行主要顺序的“索引->偏移”*转换的倒数。此外,(伪)代码将不胜感激。

  • http://en.wikipedia.org/wiki/Row-major_order

  • 举个例子,简化我提出问题的特定问题:
    我有一个 3 维数据层次结构,用 (a,b,c) 跨越的空间表示,其中 a、b 和 c 是大于或等于零且小于 N_a、N_b 和 N_c 的整数。我想将数据表示为一维数组。 “偏移量”按行主要顺序给出如下:
     int offset(a, b, c){
    return a*N_b*N_c + b*N_c + c;
    }

    那么反向转换是什么,即:
    int a(int offset);
    int b(int offset);
    int c(int offset);

    此外,我如何将其推广到第 N 维索引?引发这个问题的问题是第 5 维。

    万一这很重要,我正在用 c/c++ 编写。

    1 Câu trả lời

    如果指数计算为

    offset = row + column*NUMROWS

    那么倒数将是
    row = offset % NUMROWS
    column = offset / NUMROWS

    在哪里 %是模数, /是整数除法。

    这假设第一个元素位于偏移量 0、行 0 和列 0。如果它们从 1 开始,则必须在适当的位置加或减 1。

    对于更高的维度,您必须对每个度量重复此操作。
    offset = x + WIDTH*(y + HEIGHT*(z + DEPTH*time));

    和相反的
    x = offset % WIDTH
    offset = offset / WIDTH

    y = offset % HEIGHT
    offset = offset / HEIGHT

    z = offset % DEPTH
    offset = offset / DEPTH

    time = offset

    您还可以提取特定坐标:
    z = (offset / (WIDTH * HEIGHT)) % DEPTH

    关于math - 逆(列)行主顺序变换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10803043/

    26 4 0
    Bài viết được đề xuất: 具有多个内容的 WPF 应用程序布局,没有窗口
    Bài viết được đề xuất: assembly - 64 位模式下的地址覆盖前缀
    Bài viết được đề xuất: ruby-on-rails - Gmaps4Rails 自定义信息窗口
    Bài viết được đề xuất: php - php中具有无限参数的函数
    行者123
    Hồ sơ cá nhân

    Tôi là một lập trình viên xuất sắc, rất giỏi!

    Nhận phiếu giảm giá Didi Taxi miễn phí
    Mã giảm giá Didi Taxi
    Giấy chứng nhận ICP Bắc Kinh số 000000
    Hợp tác quảng cáo: 1813099741@qq.com 6ren.com