所以我得到所有内置函数只返回伪随机数,因为他们使用时钟速度或一些其他硬件来获得数字.
所以在这里我的想法,如果我取两个伪随机数并将它们按位在一起,结果仍然是伪随机的,或者它会更接近真正的随机数.
我想如果我稍微调整一下这个数字就会减少可复制性,或者我错了.
另外注意为什么伪随机问题?
我正在检查一个项目是否在数据库中有一个链接项目,但无法决定在何处放置该条件.
选项一:将条件放在数据库读取语句中.
select * from item where id = id.
Run Code Online (Sandbox Code Playgroud)
选项二在代码后检查.
temp = select * from item
for(i = 0; i <sizeof(temp); i++;
{
if(id = temp.id)
{do stuff}
}
Run Code Online (Sandbox Code Playgroud)
这两者之间有显着差异吗?
注意代码示例可能包含大量错误,仅供参考.
它似乎是标准所以我到目前为止一直在使用它,但现在我正在从头开始构建一个新类而不是修改旧类,并且我觉得我应该理解为什么我应该遵循项目约定.
几乎每个类都有一个调用它的接口classnameable.在代码中database.class永远不会出现一次,但在我希望使用我看到的那个类的地方databaseable.class.
根据我的理解,接口是一个从未实现过的类,但是为了保持标准而固有.那么为什么接口被用作真正的类呢?
我在linux上使用ncurses.我使用getch()从输入流中获取下一个键,但它返回的数字不是字母.
在对谷歌进行研究后,我发现getch()不是标准的,所以我不知道该怎么做.
我需要键0-9,制表符,ctrl,p,v,m,l,a,b,c,d,e,f和箭头键以及0xff,0x4F00,0x4700,0x4800,0x5000,0x4D00 :,0x4B00,0x4900,0x5100.这些是用于if语句的getch()的返回值.
这是我试图重新创建的程序的Windows版本中的代码.
unsigned long nr;
if( GetNumberOfConsoleInputEvents(ConH,&nr) )
{
if( nr > 0 )
{
INPUT_RECORD ipr;
ReadConsoleInput(ConH,&ipr,1,&nr);
if( ipr.EventType == KEY_EVENT && ipr.Event.KeyEvent.bKeyDown )
{
int key = ipr.Event.KeyEvent.uChar.AsciiChar;
if( key == 0 ) key = ipr.Event.KeyEvent.wVirtualScanCode<<8;
return key;
}
}
}
return 0;
Run Code Online (Sandbox Code Playgroud)
是否有一个函数,我可以使用getch()的结果,所以我可以得到实际的键,如上面的.AsciiChar?
什么时候代码是黑客?
人们似乎将hack定义为解决问题的丑陋编码,但与编写混乱代码有什么不同.
编码严重的问题与破解程序员心态的问题之间的唯一区别是什么?
当我说hack时,我的意思是在编程/开发意义上而不是非法意义上.