由学生按某规则依次报数的游戏引发的问题
前段时间Q群里有提问如下,编写程序解决一个学生按规则依次报数的体育游戏问题。编程语言不限,Java, C#, Ruby, C++, Js, Python, Scala, objective-C统统可以,小语种也没问题。

前段时间Q群里有提问如下,编写程序解决一个学生按规则依次报数的体育游戏问题。编程语言不限,Java, C#, Ruby, C++, Js, Python, Scala, objective-C统统可以,小语种也没问题。

网上关于有符号、无符号字符转换成有符号、无符号整形数据的问题,自己写了一个测试程序,分析了下,挺有意思的。
用的是自己的win7 64位系统,处理器当然是Intel的,因此是前文提到的小端模式。默认按32位(总线)处理,即一个整型4个字节,长度共 2^32 = 4294967296 字节;有符号字符char类型数据的范围是 -128~127 (对应二进制 11111111~01111111),无符号字符 unsinged char 类型数据范围是 0~255(对应二进制 00000000~11111111)。

关于字节序的大小端模式,个人认为CSDN上Hackbuteer1作者的这篇文章《大端模式和小端模式》讲解的很清晰。这里MARK一下自己的学习心得:

采用小端模式的处理器包括:PDP-11、VAX、Intel系列微处理器和一些网络通信设备;
采用大端模式的处理器包括:IBM3700系列、PDP-10、Mortolora微处理器系列和绝大多数的RISC处理器。
通过上一篇文章完成了十六进制字符串转成十进制整数,同理也很容易写出十进制字符串转成十进制整数的函数。考虑到十进制的字符串中可能会出现正负号,即转换后可能出现负整数,同样也增加了对这种情况的处理。例如将十进制的字符串"0621"、"+621"、"6210"、"-1234"转换十进制的整数,即621、621、6210、-1234。下面同样是正向和逆向两种方法的具体代码:
C/C++处理十六进制文件中的报文内容时,经常会遇到先读取报文头中的长度(例如"E2"、"1F"、"-eE2"等等),再读取报文体中的内容的情况。那么就需要把报文头中表示长度的十六进制字符串转换成十进制的整形数据。
转换方法有两种,一种是正向从字符串低位到高位依次转换,另一种是逆向从字符串高位到低位依次转换。原理都是利用指针变量依次指向十六进制字符串中的单个字符,然后通过ASCII码表转换成对应的整数。考虑到十进制的字符串中可能会出现正负号,即转换后可能出现负整数,所以增加了对这种情况的处理。下面是两种方法的具体代码:
前几天博客使用了NameCheap的证书,将原来的http访问改成了https访问(详戳这里)。由于下面的原因,现决定不再使用SSL证书,恢复http访问。

主要是因为目前博客所有的静态资源文件,如css样式文件、js脚本文件、图片文件等,都使用了新浪SCS云存储。最初,博客程序中还存在类似于https://cdn.typecodes.com/libs/img/typecodes.png这种http请求,所以浏览器地址栏会出现黄色警告图标。后来将所有的http请求全部改成https,结果浏览器地址栏图标变成正常的绿色图标了。
近期参加了github的一项优惠活动,获得了一年免费的SSL证书。下面是具体的安装过程,当然SSL证书的安装跟博客程序(不管是wordpress或者typecho等等)无关,只是跟服务器的类型(比如Nginx、Apache或者IIS等)有关。
----------操作说明---------- 系统: 阿里云CentOS 6.5 环境: LNMP(只需配置Nginx服务器就行) 操作工具: SecureCRT 7.0 博客程序: Typecho 14.10 SSL证书提供商: PositiveSSL from Namecheap感谢 @奇趣铺 的使用反馈,插件版本更新至最新的V1.1.1。更新内容如下:
2、增加SCS存储路径参数配置,用户能更自由定义SCS存储路径; 3、取消SCS附件前缀用Unix time stamp格式命名,保持原附件名称不变。下面对于 Linux主机 和 Windows主机 的升级方法同样适用于之前没有安装该插件的童鞋,步骤完全一样。