标题:问个数字问题
取消只看楼主
yz1025
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:473
专家分:915
注 册:2012-10-26
结帖率:97.67%
已结贴  问题点数:20 回复次数:4 
问个数字问题
S0                                                                                S1......   
    G0        G1        G2        G3        G4        G5        G6        G7   
    0        16        32        48        64        80        96        112   
    1        17        33        49        65        81        97        113   
    2        18        34        50        66        82        98        114   
    3        19        35        51        67        83        99        115   
    4        20        36        52        68        84        100        116   
    5        21        37        53        69        85        101        117   
    6        22        38        54        70        86        102        118   
    7        23        39        55        71        87        103        119   

    8        24        40        56        72        88        104       120    
    9        25        41        57        73        89        105       121   
    10        26        42        58        74        90        106       122   
    11        27        43        59        75        91        107        123   
    12        28        44        60        76        92        108        124   
    13        29        45        61        77        93        109        125   
    14        30        46        62        78        94        110        126   
    15        31        47        63        79        95        111        127   

0-127为S0,128-255为S1....一直到S20...
0-127每16为1组,从G0-G7,之后G8-G15.....
随机取个数字,该数字必须不属于S(N)的最后一组G7*N,也不属于S(N)前G0*N-G6*N组内前8个数字,这个计算公式要怎么写?
还要取得该数字是踩到G7的16位,或前几组的前8位。

[此贴子已经被作者于2022-12-9 17:48编辑过]

搜索更多相关主题的帖子: 数字 随机 公式 属于 计算 
2022-12-09 17:33
yz1025
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:473
专家分:915
注 册:2012-10-26
得分:0 
有没有比较恰当的写法?我现在事先把S(N)的最后一组取出,然后再做else ....,之后就还在想。

不要投我
2022-12-09 17:42
yz1025
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:473
专家分:915
注 册:2012-10-26
得分:0 
以下是引用yuma在2022-12-9 17:44:08的发言:

每行的第一个数字 +16  +16*2 +16*3.... 而已。



公司网路无法贴图,简单说应该就是检查一大堆数字,再把踩到条件的数字记录下来
程序代码:
            ElseIf Temp1 = "FRC" And Check2(3).Value = 1 Then ' 以片内指定群组为单位 TS.TS_CH(TSNum).TS_PE (同一片PE Slot)_(同一组)_(Channel)
                If Temp = "KD" Then
                    If .iTitle(index2).FRC(index1) = "" Then
                        .iTitle(index2).FRC(index1) = CStr(TempCode1) & "_" & CStr(TempCode2 \ 8) & "_" & CStr(TempCode2)
                    Else
                        .iTitle(index2).FRC(index1) = .iTitle(index2).FRC(index1) & "," & CStr(TempCode1) & "_" & CStr(TempCode2 \ 8) & "_" & CStr(TempCode2)
                    End If
'问题是以下这部分
                ElseIf Temp = "ED" Then
                    If .iTitle(index2).FRC(index1) = "" Then
                        .iTitle(index2).FRC(index1) = CStr(TempCode1) & "_" & CStr(TempCode2 \ 16) & "_" & CStr(TempCode2)
                    Else
                        .iTitle(index2).FRC(index1) = .iTitle(index2).FRC(index1) & "," & CStr(TempCode1) & "_" & CStr(TempCode2 \ 16) & "_" & CStr(TempCode2)
                    End If
                End If

            ElseIf ...

不要投我
2022-12-09 18:01
yz1025
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:473
专家分:915
注 册:2012-10-26
得分:0 
公司網路不能看,只能回家再看看

不要投我
2022-12-12 15:15
yz1025
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:473
专家分:915
注 册:2012-10-26
得分:0 
以下是引用yz1025在2022-12-9 17:33:58的发言:

S0                                                                                S1......   
    G0        G1        G2        G3        G4        G5        G6        G7   
    0        16        32        48        64        80        96        112   
    1        17        33        49        65        81        97        113   
    2        18        34        50        66        82        98        114   
    3        19        35        51        67        83        99        115   
    4        20        36        52        68        84        100        116   
    5        21        37        53        69        85        101        117   
    6        22        38        54        70        86        102        118   
    7        23        39        55        71        87        103        119   
    8        24        40        56        72        88        104        120   
    9        25        41        57        73        89        105        121   
    10        26        42        58        74        90        106        122   
    11        27        43        59        75        91        107        123   
    12        28        44        60        76        92        108        124   
    13        29        45        61        77        93        109        125   
    14        30        46        62        78        94        110        126   
    15        31        47        63        79        95        111        127   

0-127为S0,128-255为S1....一直到S20...
0-127每16为1组,从G0-G7,之后G8-G15.....
随机取个数字,该数字必须不属于S(N)的最后一组G7*N,也不属于S(N)前G0*N-G6*N组内前8个数字,这个计算公式要怎么写?
还要取得该数字是踩到G7的16位,或前几组的前8位。



商   MOD   商  MOD   商  MOD
0    0    2    0    4    0
0    1    2    1    4    1
0    2    2    2    4    2
0    3    2    3    4    3
0    4    2    4    4    4
0    5    2    5    4    5
0    6    2    6    4    6
0    7    2    7    4    7

1    0    3    0    5    0
1    1    3    1    5    1
1    2    3    2    5    2
1    3    3    3    5    3
1    4    3    4    5    4
1    5    3    5    5    5
1    6    3    6    5    6
1    7    3    7    5    7

发现把商和MOD的值列出来就发现规律了

需求是要将任一值运算后,得出该值是属于哪一个区块(3个区块之一)

(S和G实际上并不存在,只是为了方便大家理解,才特意标注,事实上全部都是数字)
我是让任一值第一步先If运算去掉每S的最后一列,然后else剩余的数字再除以8求商,
只要商MOD2为0的就是归属上排,其余的皆为下排数字

不要投我
2022-12-12 18:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-510909-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020696 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved