Forwarded from Deleted Account
啊,也是,我不熟悉 C++... 虽说写弱智级别的 Qt 是几个月前就有,前几天才真正学 C++ 的... 我还不知道乘方的 infix 不是 (^)...
和 bitwise xor 弄混了... 刚才还以为是 C++ 操作符重载的说(
你这个能力也太强了吧,我看了一会才意识到上文的 100000 是 (2**5)... 等等好像是 32(10) 啊 log_2 16 不是 4 来着
想了一会才把
但不管怎么样这也太... 不可思议 这么说你平时都看直接二进制的?我能看二进制也是很刻意地算才可以... 😳
和 bitwise xor 弄混了... 刚才还以为是 C++ 操作符重载的说(
你这个能力也太强了吧,我看了一会才意识到上文的 100000 是 (2**5)... 等等好像是 32(10) 啊 log_2 16 不是 4 来着
想了一会才把
(2^0) 0b1, (2^n) 0b1_0{repeats for n} 对应上...但不管怎么样这也太... 不可思议 这么说你平时都看直接二进制的?我能看二进制也是很刻意地算才可以... 😳
Forwarded from Deleted Account
Forwarded from Deleted Account
而且出去散步的时候才想到 OpenSSL 要分 Init, Update, Final 不就是为了可以按照 buffer 分段窗口处理二进制流么... 刚才被一个入门群里的贴误导了,以为只能 update 一次的... 改天我再重写
/tmp/duangsuse.sock
sha256.c++
这个里面有一个计算表达式本来应该化简的,可是我却弄了个不那么 immediate 并且还导致 +1 unused 的方式:
是
应该为:
具体看这一节
直觉好难找到啊...
此外
static inline void hexdigit(char *out, unsigned base, unsigned char chr); 里:unsigned char...
d = chr / unit, m = chr % unit;
chr -= (d*unit); 此处 d 为 chr/unit (整除法)是
chr = chr - (chr/unit)*unit; 的简记法,实则为 chr mod unit (取含一点线段的子线段)应该为:
char -= m; 具体看这一节
直觉好难找到啊...
此外
duangsuse-valid-projects.github.io
几个数学模板
从 Telegram 上必须转移过来的迫真数学模板
/tmp/duangsuse.sock
这个里面有一个计算表达式本来应该化简的,可是我却弄了个不那么 immediate 并且还导致 +1 unused 的方式: static inline void hexdigit(char *out, unsigned base, unsigned char chr); 里: unsigned char d = chr / unit, m = chr % unit; ... chr -= (d*unit); 此处 d 为 chr/unit (整除法) 是 chr = chr - (chr/unit)*unit;…
引用到的文章同 repo 下还有一篇要维护的,我将会检查它
过后,今天还会讲一个 #Haskell 的内容,就是 itoa 和 atoi 函数的实现和(每根毛都说明白)的递归过程
itoa (某 base 进制数值人类可读格式化)的我已经想了三种了,一个简单一个复杂一个有优化(都是 Haskell,复杂贬义,就是一个计算时机的区别而已,还会讲尾递归|重写参数相关另一种版本无法实现的问题),顺带的会写明递归条件和过程
过后,今天还会讲一个 #Haskell 的内容,就是 itoa 和 atoi 函数的实现和(每根毛都说明白)的递归过程
itoa (某 base 进制数值人类可读格式化)的我已经想了三种了,一个简单一个复杂一个有优化(都是 Haskell,复杂贬义,就是一个计算时机的区别而已,还会讲尾递归|重写参数相关另一种版本无法实现的问题),顺带的会写明递归条件和过程
/tmp/duangsuse.sock
已经开始重排版了
现在依然没有完成,我现在真正知道了的永不止步含义... 原来即使看起来正确的表述,也是有可以改进的地方啊
看起来好看的文章,其实还可以加很多方便阅读的小挂件小脚本
看起来好看的文章,其实还可以加很多方便阅读的小挂件小脚本
/tmp/duangsuse.sock
我去,原来当时我菜到连这种代码都看不懂吗? 本身就一 foldl (\lx -> (lx * base +) . digitToInt) 0 逻辑,这... 没有递归,迭代也没有重写,它是怎么做到进位解析的?wtf? "11", base=10,这结果 = (1*10) + (1*10) 根本不正确好么?
啊!我居然忘记了
foldl :: (b -> a -> b) -> ... 这个定义 TMD 是 point-free 的!我得先展开...