Python: Comparison of Float

Python中的floatint的大小比较相对于其他语言来说,实现上可能复杂一些。Python的float相当于C中的double,而Python的int实际上是由多个32位或64位整数拼接而成的高精度整数,其表示的精度和范围完全有可能比double类型更大。

显然,(1)将浮点数转换成整数进行比较是不可行的,那样会丢失精度;而(2)Python中的整数是高精度整数,在内存足够大的情况下可以非常大,远大于double所能表示的范围;并且(3)C的long有63位精度,而double仅有53位,因此也不能仅因转换后的比较结果相等就判定转换前的数值也相等。

继续阅读Python: Comparison of Float

神奇的实训

这次就不打算放具体细节和源代码了,因为这部分貌似不需要我们自己做(如果要的话再说)。

所以怎么说好呢……总的来说,实训的前三天,是充实的,是辛苦的,是新鲜的。这三天最主要的事情就是对照老师给的图,自己在 Altium Designer 中将小车的红外探路这部分的原理图和线路板画出来,并且焊接好电子元件,在第三天验收。

继续阅读神奇的实训

在 Xcode 控制台中输入 EOF

在终端(Terminal)中,我们可以使用组合键 control + D 来输入一个 EOF,但是此法在 Xcode 控制台中行不通。有两个在控制台输入 EOF 的方法。

  1. 按照顺序按下组合键 control + Q, control + D。
  2. 按下组合键 option + shift + /,此时控制台中会出现字符“¿”,回车即可。

The Overloading of Operator << and >>

class String {
public:
    friend ostream& operator<<(ostream&, const String&);
    friend istream& operator>>(istream&, String&);
    //other members
private:
    char *str;
};

ostream& operator<<(ostream& os, const String& str){
    int i=0;
    while (*(str.str+i)!='
class String {
public:
friend ostream& operator<<(ostream&, const String&);
friend istream& operator>>(istream&, String&);
//other members
private:
char *str;
};
ostream& operator<<(ostream& os, const String& str){
int i=0;
while (*(str.str+i)!='\0') os<<*(str.str + i++);
return os;
}
istream& operator>>(istream& is, String& str){
is>>str.str;
return is;
}
') os<<*(str.str + i++); return os; } istream& operator>>(istream& is, String& str){ is>>str.str; return is; }

开始学习单片机开发

上个月,学院给每个大一新生都发了一块德州仪器的 LaunchPad 单片机开发板,具体型号是 MSP430F5529。院长说这是德州仪器公司和我们学院达成的捐赠协议,德仪每年都会为新生免费提供一块这样的开发板(不过也没有以后了)。

上周开始真正接触单片机开发,应该不算太难,但是需要学习的东西还是蛮多的。实现了简单的按钮控制 LED 的亮灭和 LED (交替)频闪。

本月20日前需要提交一个利用此单片机开发的 Project,为此上网购买了多种传感器。开发日志将同步更新(我尽量)。