wangyily 发表于 2013-4-18 16:43:24

Not在我的Delphi7中应用时,出现奇怪的问题

Not按键代码我是这样写的:
procedure TForm1.btn13Click(Sender: TObject);
begin
    Form1.edt1.Text:=not IntToStr(StrToInt(edt1.Text));
end;

然而运行的确是:输入6,点Not按键,得出结果:-7

procedure TForm1.btn13Click(Sender: TObject);
begin
Form1.edt1.Text:=IntToStr( - StrToInt(edt1.Text));
end;
直接用负号'-'得出的结果还正确。想知道,Not为什么以上会得出-7,它还能做其它什么事吗?

那西 发表于 2013-4-18 18:13:22

计算机首选把6变成二进制   110   not在二进制里把1变成0   0变成1    110就变成了001    当然    这里边有补码什么的····准确的是11111001(一字节)   再转为10进制就是-7啦{:1_1:}

wangyily 发表于 2013-4-19 08:49:27

:dizzy:还是不是很明白,以not的定义应该就是取反,正取负、负取正。我是个初学者,鱼C的视频里只要NOT,就取反了。

evasong 发表于 2013-4-24 23:25:16

强烈支持楼主ing……
页: [1]
查看完整版本: Not在我的Delphi7中应用时,出现奇怪的问题