C++
欲东欲
对于计算机技术,个人追求深挖设计,架构,算法,原理。不要过于浮躁,追求速成。不要被网络或者各种观点带偏。
展开
-
C++与C#对于有无符号数值运算的区别
得到结果65534,因为short最大值为32767.比较反直觉的是 此处应该发生算数溢出。而由于C#的数值运算,小于int类型的数值统统都会转成int进行运算。原因:int由于与有符号变量u进行加法运算,C++编译器将进行类型转换,i的值变为 2^32 - 42 +1成为一个有符号数值然后与u相加得到结果。此处 直觉认为应该还是12345,结果却为53191。也是由于无符号转换为有符号,进行了反码到原码的转换 得到了53191。C#也依然存在 无符号数转型发生不符合直觉的结果。原创 2023-02-02 16:06:23 · 133 阅读 · 0 评论 -
C++与C#对于接受bool变量输入的不同
对于C#来说,接收控制台输入,一般用Console静态类的Read,ReadLine等等。但是C#都只能识别成字符串来接收,由程序员自己进行转化为想要的数据类型,比如想接受bool类型的变量,只能输入false,true的字符串(不区分大小写)然后转成bool类型。如果输入的是其他的字符串再进行转换,比如0或者1则会抛出异常(当然可以使用bool.TryParse()使其捕获异常)。对于C++来说,目前学习到的cin接收bool类型的输入却是通过输入0跟非0,0即是false,非0的整数值为t.原创 2021-10-05 12:33:42 · 729 阅读 · 0 评论 -
记一次Ubuntu下C++用sleep错误
最近国庆在学C++,学到C++信号处理发现线程睡眠sleep函数找不到。报错信息:经过学习发现,原来Sleep是Windows下使用。那么linux下怎么办呢?首先引入头文件:#include <unistd.h>,然后使用函数usleep()....原创 2021-10-03 13:52:46 · 1644 阅读 · 0 评论