#cxx https://t.me/Ralphonograph/3427 再表达一遍:
为什么第二个是 1?因为 signed 的溢出是 UB(undef. behavior) ,编译器数值区间优化,断言常量正正必得正。
摘自 cppreference : unsigned int 计算结果取 2**n_bits 的余(remainder),也就是 max+1=0; 0-1=max
有符数区间溢出据表达方式(如补码)可能回滚或截止(在许多DSP上),甚至可能被编译器无视;在 gcc/clang 上用 -ftrapv 也可引发中断。
int x=INT_MAX;
printf("%d, %d", (x*x), (x*x) >= 0);
//-xxx, 1为什么第二个是 1?因为 signed 的溢出是 UB(undef. behavior) ,编译器数值区间优化,断言常量正正必得正。
摘自 cppreference : unsigned int 计算结果取 2**n_bits 的余(remainder),也就是 max+1=0; 0-1=max
有符数区间溢出据表达方式(如补码)可能回滚或截止(在许多DSP上),甚至可能被编译器无视;在 gcc/clang 上用 -ftrapv 也可引发中断。
Telegram
Phonograph
今日疑问:为什么输出的第二个值为1?
太长不看版解答:有符号整数溢出为ub,编译器开了优化。(无符号整数溢出不是ub)
以下摘自 cppreference:
无符号整数算术始终进行 modulo 2^n
,其中 n 是该整数的位数。例如对于 unsigned int,向 UINT_MAX 加一得到 0,而从 0 减一得到 UINT_MAX。
有符号整数算术运算溢出(结果类型无法容纳其结果)时,行为未定义:它可能按照表示法的规则(典型为补码)发生回绕,可能在某些平台上或由于编译器选项(例如 GCC…
太长不看版解答:有符号整数溢出为ub,编译器开了优化。(无符号整数溢出不是ub)
以下摘自 cppreference:
无符号整数算术始终进行 modulo 2^n
,其中 n 是该整数的位数。例如对于 unsigned int,向 UINT_MAX 加一得到 0,而从 0 减一得到 UINT_MAX。
有符号整数算术运算溢出(结果类型无法容纳其结果)时,行为未定义:它可能按照表示法的规则(典型为补码)发生回绕,可能在某些平台上或由于编译器选项(例如 GCC…
Forwarded from duangsuse Throws
计算机科学包含的层面也挺多的,有些子领域的确是离不开数学(但大部分只需要基础的 坐标系、函数集合、相等关系与变形 即可)
计算机结构、网络;数据编码、算法;编译原理、操作系统、数据库、计算机图形学 等等,都是包含在内的子科
我喜欢计算机科学,但自己覆盖的领域和计算机应用关系大一些,而且我数学很烂,不能报学它😔
算法 #algorithm 的话我就会写线性查找、快速查找
二分查找、合并查找集(union find)、快速排序、冒泡排序、选择排序
广度优先搜索(BFS)、深度优先搜索(DFS)、狄克斯特拉算法(Dijkstra)
递推法、贪婪算法、动态编程、移位计算
编辑距离(edit distance) diff 算法、字典树(Trie)
听说过 kNN、前馈神经网络、高斯消元、AC自动机、基数树(Radix);B树、AVL树、红黑树;图像/音频隐写 什么的,但是因为数学不好或者太复杂的原因不会写😱
看到一些人吹 CSAPP 我觉得风气很不好,表现力是写书的基础,以最小的篇幅和最高的效率传达最多的信息才是正道,这样大部头的书我觉得应该当枕头用,嘿嘿。
不过老实说 Robert Sedgewick 大师的 Algorithms in C++ 是不错的,没想到知名的红黑树也是他弄出圈的🤔
其实我在编译原理有不少算法也不会写,不过这个其实不成问题(许多算法是只在 C 实现时才有的 hack ,JVM 里是平凡的 Map/List 结构而已)
计算机结构、网络;数据编码、算法;编译原理、操作系统、数据库、计算机图形学 等等,都是包含在内的子科
我喜欢计算机科学,但自己覆盖的领域和计算机应用关系大一些,而且我数学很烂,不能报学它😔
算法 #algorithm 的话我就会写线性查找、快速查找
二分查找、合并查找集(union find)、快速排序、冒泡排序、选择排序
广度优先搜索(BFS)、深度优先搜索(DFS)、狄克斯特拉算法(Dijkstra)
递推法、贪婪算法、动态编程、移位计算
编辑距离(edit distance) diff 算法、字典树(Trie)
听说过 kNN、前馈神经网络、高斯消元、AC自动机、基数树(Radix);B树、AVL树、红黑树;图像/音频隐写 什么的,但是因为数学不好或者太复杂的原因不会写😱
看到一些人吹 CSAPP 我觉得风气很不好,表现力是写书的基础,以最小的篇幅和最高的效率传达最多的信息才是正道,这样大部头的书我觉得应该当枕头用,嘿嘿。
不过老实说 Robert Sedgewick 大师的 Algorithms in C++ 是不错的,没想到知名的红黑树也是他弄出圈的🤔
其实我在编译原理有不少算法也不会写,不过这个其实不成问题(许多算法是只在 C 实现时才有的 hack ,JVM 里是平凡的 Map/List 结构而已)
Forwarded from Rachel 碎碎念 (IFTTT)
Twitter
Rachel 呱
高数课上 当我没跟着老师来 我:这在讲什么?这又在讲什么?? 当我跟着老师来 眼睛:你会了 脑子:你放屁
duangsuse::Echo
😅 Sticker
duangsuse::Echo
https://t.me/Ralphonograph/3430
不过初中的 OI 大佬想想也是 NB,神经网络+Web UI 手写数字识别人家顺手就完成了…… 在他那估计这些东西根本不算大作业吧。
应该说纯概率/代数+数据结构和几何的还是有区别吧,但。大佬毕竟是大佬唉,所以说如果一个大佬比你小,而且会前端…… 😂
那么你就永远赶不上他了
我真是挺羡慕这些大佬的
会 CSS/DOM 的人一旦牛逼起来那真的是无法估量的,草😱😂
应该说纯概率/代数+数据结构和几何的还是有区别吧,但。大佬毕竟是大佬唉,所以说如果一个大佬比你小,而且会前端…… 😂
那么你就永远赶不上他了
我真是挺羡慕这些大佬的
会 CSS/DOM 的人一旦牛逼起来那真的是无法估量的,草😱😂
Forwarded from 科技圈🎗在花频道📮 (投稿BOT🤖)
感觉 Tkinter 和 X 的术语好奇怪啊, (w+h+x+y) 表示 geometry, 一般说的 minimize 也说成 iconify 🤔
不过窗口管理的功能暴露的也不错,看起来怪简洁 C/S 架构允许网络连接Xorg
htop 感觉是挺可定制的,还能调色彩主题, curses 应该没有基本的 layout 计算功能,这能写出来也是牛
#cxx #linux #game SuperTuxKart 现在真的是好棒棒了,也支持联机游戏
看 About 页那两个大佬写了 physics/GUI/networking/AI, SPM file format, Windows/MacOS packaging 什么的好厉害
看到游戏里一个动场景饰物画的 ActionScript 脚本有这样的代码:
估计也只有 Python 和 ActionScript 把严格相等性设计为 (is) ,一般都是 (===)
想想在 #Kotlin 里可以把 op 作为局部 fun ,而且 null 返回就不必单独用 if
不过 {op();return;} 这样的冗余代码就不好解决,只好用 when 和 ?.let {} == true 这样
说到 ActionScript, 我以前以为 MS ASP 的 AS 还是它的缩写呢,其实是 Action Server Page……
不过窗口管理的功能暴露的也不错,看起来怪简洁 C/S 架构允许网络连接Xorg
htop 感觉是挺可定制的,还能调色彩主题, curses 应该没有基本的 layout 计算功能,这能写出来也是牛
#cxx #linux #game SuperTuxKart 现在真的是好棒棒了,也支持联机游戏
看 About 页那两个大佬写了 physics/GUI/networking/AI, SPM file format, Windows/MacOS packaging 什么的好厉害
看到游戏里一个动场景饰物画的 ActionScript 脚本有这样的代码:
void throwBanana(kart-id, lib_id, ) {
TrackObject obj = /**/;
if (obj is null) { op();return; }
MeshObject mesh = /**/;
if (mesh is null ||/**/) { op();return; }
/**/
}
估计也只有 Python 和 ActionScript 把严格相等性设计为 (is) ,一般都是 (===)
想想在 #Kotlin 里可以把 op 作为局部 fun ,而且 null 返回就不必单独用 if
不过 {op();return;} 这样的冗余代码就不好解决,只好用 when 和 ?.let {} == true 这样
说到 ActionScript, 我以前以为 MS ASP 的 AS 还是它的缩写呢,其实是 Action Server Page……