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

一般整数占用4字节*8 bit的空间,一个bit用来表示正负,余下31个bit
2^31 = 2147483648,10位数

TOP

回复 3# ads350668398


      这就尴尬了

2147483648
||||||||||
0123456789

TOP

本帖最后由 523066680 于 2016-11-2 20:59 编辑
回复  523066680
老刘1号 发表于 2016-11-2 20:16



    我自然是知道的,但是逗楼主玩儿话题才能长啊。不过即使拼接了,要考虑分布是否足够均匀

抛开这些,
楼上happy大师要炸天了……  应该是考虑了分布方面以及做足了一些耐测试的细节工作

TOP

回复 9# happy886rr


    谦虚,有前途

TOP

本帖最后由 523066680 于 2016-11-2 21:23 编辑

这是固定在500位,如果位数也要随机,可以把500改成 %random%,未测试分布是否均匀
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /a buff=!random! %% 9 + 1      % [0-8] + 1 = [1-9] %
  4. :next
  5. for /l %%n in (0, 1, 500) do (
  6.     set /a x = !random! %% 10
  7.     set buff=!buff!!x!
  8. )
  9. echo !buff!
  10. pause
复制代码
==================================补充=====================================

其中一个结果
6570654070787720878720551520564154192193998902816086851452904732144780019389263586200609358950653640540242619622445932113675385232481440504623438397918374865436219267994386113298474419239439794012785659476174471571184545283730436865172796040135857465692690349178886482910237798021062959227243531344335976742355958334085783138354920855791983156491921655256801724083502037195999929886805102634476523685138718787280756603121554463142218441609413865654588056453274851408646034723618642147238107631842622898486346171400150238671844174223073868457046510677266833404164811528579151643300970194091506732646044721607114716237540238801066582316649602672155254967183641433828056846278706541918373354154436176687977337735914005638636289108728698662122250591192922873781132225809848909413217220497160987044321784755320503274415361064670506417109951777951111222172519465289853842156244986675282553667712469331648097063332329565699197760802460358860025507620311020220375535980742552681579267194201416296545361511061033132229425171804964956380912712880574289735155144987723538398876144643927011649368142860065206521080951410072310214738309933612629906040078995025943272985808367334126922713215030652270598089341655506525222164344623935615392900058431139684378733615416478425753085595906840603138655022293127711120382746730690034510817569126730222137879089915298096309542733178135333077497018928045033547214042951368905321303592357833425188129671106155648871469783589600635174576624144458652817686240363957276244093752533464020365754548948420976444946604540175389216850782016068141037517048275123108961231801061978236160159228954552297405638676471933384836504559844440037410300897730022226147134973911727130329398768902980084552959102675380922208804027740089273783909892148517075212312418936672315583206961836240840316707884746185230824901571077580429915363921908399664423038409552678182074047251837934431229524884831526295561413456446090584763221352938800162276291133256596855293786760318047286985255023989473547984833233983847923284802966866615029445113644516904917437498339533255046158352210438740752816485287044761486020089710916914364880674052199399944726075926756527896401239290707751491403269125102676498250998653950339055726816815543599198937750511414638552301909027944202412006034095597617684748593287812436742059507897666453594078617539361558330256811293655231032884373394020796110460686759887544451489198543637905084417218972162634595849594735499809032486317876298197512736428865595083479318380428132555974235750700995868919301811548996389255422572491392411029031919368516749639067403787804140114493033241464440416908322826690134919544855973555454479363684842166668835481089303763926715238636213111847338785631434983733273287033108797922615410378872371093734018706431177369046326975094468398206600124277449500926660577898185221616859684407486607688293000845316931162576906655833574231088247220174180269825643345895755355207563726454910084726104989494069745970446418113894219237308095772713693606694151473862606476709776050919276488111503171713251592941099452704901336316937605532384019345021361660866510969192901848286725146923982047084415449289941729895804237659249518421712691601744679459699712032614477800731219435605630291222428194388970019570850732383703317595584405024826984696527809044569140378668861071847112272444353673443595983291457834951799380387142068436770244777615309592446701075737658862523191871139760628985934709775481219649105130448395008117608530069493405458142708761913084015810569294748906127257923934762649921528686079586470396045723165991151884357449499690803061666975368843622668346316675214260936419073750673463209453387235840969557671237671575740149287124941624997065577276535728828540852790781839184687141687652921555756677051598684133169994715349486609526243742078412167948583780209586067438645436124072370918907914180255956090688606304224800344457105889192034079495903558278080713078328028683824078785164529728489228999243775051909585454654058876982818565169896337773792115199360311975637841567803141270252981798731706571145913180437051635174484196680372083141287456597230843521460592386052182277226088138923497167420411738045252549477679164055444846285315822186041862096416127137747921019637609214262733507281036927342612682915903852872556994459864928630294331515754530482054074332587164538024974183845656215480189843865260028849531882650759970878466152227510847597021210198227189378167026493955814065955559480093814615163112552528333852176816572363270656029383558391983362227620657397951255981190144631730577214371523663865679531782903619606485923483366809279826766883477856566857925092450034074555310029265382724922893924572726115776317349129700622337100834531466872102734389270354473881271217470058618325704951215911337174369738309136954379865236856504756023071294796891014330996133589430536818023525447241199761480334846833155610118346787459816213222603563513582436630623639114535902335149105131946324923327289540482724725859181390543172967743363076358915275378677125782984


各数字的出现频率
0 - 473
7 - 480
9 - 485
8 - 496
6 - 497
2 - 508
3 - 511
5 - 512
1 - 514
4 - 526

TOP

回复 13# happy886rr


    也试了happy的代码,数的末尾有很大概率出现连续的0

TOP

回复 14# 老刘1号


    python 内置支持大数运算,相对方便。

TOP

本帖最后由 523066680 于 2016-11-2 22:29 编辑

回复 17# aa77dd@163.com


     作为以图形为目标的业余党,考虑到时间有限,我时刻提醒自己不要扎进数学的洞里
除非从事相关工作,时间非常充裕。当然,正在争取。

关于更专业的随机数生成的讨论,我想起一本书上有,《应用密码学——协议、算法与C源程序》,
http://www.code-by.org/viewtopic.php?f=29&t=25

第16章 Pseudo-Random-Sequence Generators and Stream Ciphers
第17章 Other Stream Ciphers and Real Random-Sequence Generators

不过里面也提到了键盘敲击。

TOP

本帖最后由 523066680 于 2016-11-2 22:33 编辑

回复 20# aa77dd@163.com


    跟24game和happy聊天感觉数学知识严重欠费,只能翻资料尽量跟上节奏了

对了这本书真的很好,我买了中文版。

TOP

本帖最后由 523066680 于 2016-11-2 23:26 编辑

回复 23# Bella


    我现在在没那么重要的社区用密码是以前泄露过的密码,这样我就不担心再次泄露了

回复 11# happy886rr
我打算下一个目标就是去学perl。
happy886rr 发表于 2016-11-2 21:08


有那么点点坑(我相信其他语言如Ruby, Python也都有不同的坑),但是如果Perl的风格让你觉得舒适,期待后续的交流。

TOP

本帖最后由 523066680 于 2016-11-2 23:38 编辑

回复 23# Bella

想前段时间还特地做了个终端wiki管理密码(只写一些助记信息)
    但因为不断地爆出某某大网站密码泄露,搞得现在懒得去设计新密码了。

TOP

回复 26# aa77dd@163.com

   分分钟转战“消遣区”的节奏。坐等CrLf……

TOP

老夫想了想,春联这事儿还得上其他语言

TOP

返回列表