[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[数值计算] 【以解决】批处理怎样总结概括规律txt分别列出?

本帖最后由 ads350668398 于 2014-10-23 18:17 编辑

157
156
159
157
159
156
156
158
155
136
159
151
159
158
158
137
137
157
152
143
158
158
148
158
159
157
151
151
157
158
159
157
155
147
137
159
156
152
152
159
160
157
156
157
161
156
156
163
159
156
163
161
160
159
157
160
137
137
137
137
137
151
160
161
138
162
163
162
160
159
152
161
158
136
156
156
154
154
162
146
146
155
156
142
162
161
162
153
163
153
155
155
144
144
161
160
162
149
154
163
162
162
149
156
156
156
153
161
146
156
142
162
159
161
161
155
160
142
163
152
157
158
154
161
163
160
147
147
151
155
155
161
160
163
138
161
162
160
158
139
160
141
162
158
158
158
163
137
163
144
161
153
163
137
161
144
163
160
147
163
151
155
155
161
161
160
160
152
160
162
162
163
161
160
146
145
161
146
163
153
158
166
156
146
162
162
161
163
148
148
148
148
166
155
137
159
165
166
166
154
154
所见即所得。
这里就是服务器在一段时间分配给我的外网IP段
我想用批处理来找出最大的 最小的 输出
最多 最少输出
还有什么战士没有想到
以15大头有多少和以13大头和16大头和17和18.。。有多少个
偶数几个
骑术几个
被三整除几个
和的
反正就是所有规律

回复 24# ads350668398


    逗你玩,其实孔圣人没日过那话

TOP

回复 21# apang


    那是万恶的旧社会人说的话

TOP

本帖最后由 ads350668398 于 2014-10-23 21:32 编辑

回复 22# DAIC


    你夸张了吧 我写的那里错了吗#4

我学习的是灵活多变的方法 不是那种死记硬背的十本知识#99

TOP

回复 20# ads350668398


http://bbs.bathome.net/viewthrea ... p;page=12#pid156411
看得出来,啥也没学会,只剩下混了。

TOP

回复 19# ads350668398


   圣人孔子日: 谦虚使人进步,骄傲使人退步

TOP

其实我之前是非常批处理混的混着混着 。。。。

TOP

回复 18# neorobin

不要谦虚啊 谦虚会使人后退的

TOP

本帖最后由 neorobin 于 2014-10-23 19:17 编辑

回复 16# ads350668398

我不是高手.  你比我注册还早, 只是在线时间很少哈

_min_cnt 统计出现最少的数的出现次数(结果是 143 出现最少, 只有 1 次)
开始要给 _min_cnt 一个初始值, 要足够大(比出现最多的那个数的次数还多就行了, 其实只达到数据量的总数也行了),
999 觉得不够大啊  9999 觉得还不够大哈, 99999?,  9999999, 9999999999999999.......
呃, cmd 下最大的数可没有那么大, 而只有 2147483647 这么大.
这个数我记不住, 所以才写成 1 << 31 ^ -1
1 表示成 32 位(cmd 下只用了 32 位)二进制数
0000 0000 0000 0000 0000 0000 0000 0001
左移 31 位 ( 1 << 31 ) 后
1000 0000 0000 0000 0000 0000 0000 0000
再与 -1 做异或运算   (1 << 31 ^ -1)
异或: 对应位相反, 结果的对应位上得 1, 对应位相同, 结果的对应位上得 0  (简作: 同0异1)
1000 0000 0000 0000 0000 0000 0000 0000
1111 1111 1111 1111 1111 1111 1111 1111   ( -1 就是这样的 )
-------------------------------------------------------------------------------------------
0111 1111 1111 1111 1111 1111 1111 1111   ( 也就是 2147483647 )


_max_cnt=19    出现最多的数出现了多少次
_max_cnt#=161 出现最多的数是哪个

_min_cnt=1        出现最少的数出现了多少次
_min_cnt#=143     出现最少的数是哪个
_sum=31170         就是和, 所有数据加在一起的和
1

评分人数

TOP

本帖最后由 ads350668398 于 2014-10-23 19:09 编辑

@findstr/n . 101.txt|find /c /v ""
行数

TOP

本帖最后由 ads350668398 于 2014-10-23 19:09 编辑

差点被你气晕了 输出结果
_cnt_13=16    13大头的有16个
_cnt_14=27     -------
_cnt_15=87-----
_cnt_16=71-----
_cnt_even=99  奇术个
_cnt_odd=102  偶数
_cnt_triple=61 能除以3的有几个
_max=166   最大
_max_cnt=19 吃线次
_max_cnt#=161 平均?
_min=136   最小
_min_cnt=1 次
_min_cnt#=143  ???
_sum=31170   是和吗??

请按任意键继续. . .

TOP

本帖最后由 ads350668398 于 2014-10-23 18:21 编辑

@echo off & setlocal enabledelayedexpansion

set /a "_min = 255, _min_cnt = 1 << 31 ^ -1" ::说明255到1之间【1 << 31 ^ -1】括号里面的不知道求指教?
for /f %%a in (a.txt) do (                                                      

    set /a "x = %%a"                                     这个指到是吧数据GEI X 的意思
    set /a "_cnt_!x:~0,2! += 1"                      这里cnt是什么意思?好像是现实前2为数?
    set /a "_sum += x"                                  sum+=x?????
    set /a "_cnt_odd += x & 1"                   ?????????
    set /a "_cnt_even += ~x & 1"          ?????????
    set /a "_cnt_triple += ^!(x %% 3)"   我才是除于3吗
    set /a "t = _max - x >> 31, _max = t & x | ~t & _max"      什么31是什么意思给我说庆祝
    set /a "t = x - _min >> 31, _min = t & x | ~t & _min"        ????????

    if not defined @%%a (   ????
        for /f "tokens=2 delims=:" %%c in ('find /c "%%a" a.txt') do (   ????
            set /a "x = %%c, # = %%a"    ????
            set /a "t = _max_cnt - x >> 31, _max_cnt = t & x | ~t & _max_cnt, _max_cnt# = t & # | ~t & _max_cnt#"???、
            set /a "t = x - _min_cnt >> 31, _min_cnt = t & x | ~t & _min_cnt, _min_cnt# = t & # | ~t & _min_cnt#"  ????
        )
        set "@%%a=."   ????
    )
)

set _        ????
pause


烦请 高手 写完天数 也学学 我的注释 说明省的给一些 新人造成疑惑 在学习的时候打了退堂鼓 好不好吗 【表情:/害羞】

TOP

回复  ads350668398

呃, 我可不会什么高深的东东, 只是存储方面的东东, 以及位运算, 学习这些, 你最好找 ...
neorobin 发表于 2014-10-23 13:57


高手终于吃线了#24

TOP

本帖最后由 neorobin 于 2014-10-23 14:15 编辑

回复 12# ads350668398

呃, 我可不会什么高深的东东, 只是存储方面的东东, 以及位运算, 学习这些, 你最好找专门的书籍, 诸如贴吧, 网帖教程类的通常都是粗糙且极片面甚至充斥作者的错误理解于其中的.

下面的代码假设所有的变量名你都是知道是什么意思的~~,  并且是以你给出的一个数字一行的文本文件来处理的
  1. @echo off & setlocal enabledelayedexpansion
  2. set /a "_min = 255, _min_cnt = 1 << 31 ^ -1"
  3. for /f %%a in (a.txt) do (
  4.     set /a "x = %%a"
  5.     set /a "_cnt_!x:~0,2! += 1"
  6.     set /a "_sum += x"
  7.     set /a "_cnt_odd += x & 1"
  8.     set /a "_cnt_even += ~x & 1"
  9.     set /a "_cnt_triple += ^!(x %% 3)"
  10.     set /a "t = _max - x >> 31, _max = t & x | ~t & _max"
  11.     set /a "t = x - _min >> 31, _min = t & x | ~t & _min"
  12.     if not defined @%%a (
  13.         for /f "tokens=2 delims=:" %%c in ('find /c "%%a" a.txt') do (
  14.             set /a "x = %%c, # = %%a"
  15.             set /a "t = _max_cnt - x >> 31, _max_cnt = t & x | ~t & _max_cnt, _max_cnt# = t & # | ~t & _max_cnt#"
  16.             set /a "t = x - _min_cnt >> 31, _min_cnt = t & x | ~t & _min_cnt, _min_cnt# = t & # | ~t & _min_cnt#"
  17.         )
  18.         set "@%%a=."
  19.     )
  20. )
  21. set _
  22. pause
复制代码
1

评分人数

    • CrLf: x &amp; 1技术 + 1

TOP

回复 7# neorobin


    怎么高深的的东东 俺 俺不会这是头一次听说
方便的话给 普及下 顺便 解决下 俺这难题 谢谢

TOP

返回列表