社区
语言基础/算法/系统设计
帖子详情
一段程序,请帮忙分析一下错误
bbkitty
2005-02-02 05:12:13
程序如下:
var
i:=Integer;
j:=Int64;
...
i:=high(integer);
j:=i+1;
请问此时j的值为-2147483648吗?为什么是这样?
...全文
100
10
打赏
收藏
一段程序,请帮忙分析一下错误
程序如下: var i:=Integer; j:=Int64; ... i:=high(integer); j:=i+1; 请问此时j的值为-2147483648吗?为什么是这样?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Kshape
2005-02-03
打赏
举报
回复
High 返回参数对应的有序数据类型的最大取值
楼上的应该就是这个问题的原因了
bbkitty
2005-02-03
打赏
举报
回复
原来是这么复杂啊,谢谢各位了!
可是,"作用于整数的算术运算符返回Integer类型的值,在当前执行中,等价于32位的长整型(LongInt)"这句话还是不太明白,为什么要等价呢?这两者的取值范围和格式都是一样的呀!
bbkitty
2005-02-03
打赏
举报
回复
欧,是这个意思啊,明白了,可是这句话说得真的挺让人晕的,谢谢楼上的帮助!
delphi还挺复杂的,快没信心了
对了,下面我怎么结帖呢?第一次问问题,还不知道规矩,不好意思。
chijingde
2005-02-03
打赏
举报
回复
这句话的意思是说
对于整数的运算,除了纯int64型的,其他的都当成integer来处理
比如说你那个就是int64和integer混合的,所以就当成integer来处理了
chijingde
2005-02-03
打赏
举报
回复
作用于整数的算术运算符返回Integer类型的值,在当前执行中,等价于32位的长整型(LongInt)。
仅当对Int64类型执行运算时,运算结果返回Int64类型。
这个才是主要原因
chijingde
2005-02-03
打赏
举报
回复
55555
楼上的
我写了这么多,你咋也不看看?
chijingde
2005-02-02
打赏
举报
回复
========================================================================================
通常,
作用于整数的算术运算符返回Integer类型的值,在当前执行中,等价于32位的长整型(LongInt)。
仅当对Int64类型执行运算时,运算结果返回Int64类型。
========================================================================================
日的,又看了一遍这句话,突然看明白了
原来是当成integer型来处理了
i+1返回的是integer型,也就是10000000000000000000000000000000
也就是-2147483648
NND,被绕进去了
chijingde
2005-02-02
打赏
举报
回复
如果非要问为什么……
只能期待其他人的高见了
我是搞不明白地
chijingde
2005-02-02
打赏
举报
回复
这个问题不是看起来那么简单
楼上的就更是扯远了……
通常,
作用于整数的算术运算符返回Integer类型的值,在当前执行中,等价于32位的长整型(LongInt)。
仅当对Int64类型执行运算时,运算结果返回Int64类型。
因此,楼主这样的代码执行后得到的结果是不正确的
先来看看二进制代码
high(integer)=01111111111111111111111111111111
这个正常
但是下面这个就不正常了
j:=i+1=1111111111111111111111111111111110000000000000000000000000000000
但是再看这个
j:=i;
j+1=10000000000000000000000000000000
这个又正常了
到底为什么这样,我也说不清
只能看成是编译器跟你怒了,呵呵
chinaandys
2005-02-02
打赏
举报
回复
你这个i,j都是一个局部变量,没有初始化,当然得到的也就是二个指针所指向的变量地址了。
微信小
程序
系统教程C#版[3/3阶段]_微信小
程序
电商系统
微信小
程序
系统教程[初级阶段],微信小
程序
0基础学起,讲解微信小
程序
开发的基础知识。 微信小
程序
系统教程共有“微信小
程序
系统教程[初级阶段]”、“微信小
程序
系统教程[中级阶段]——核心技术”、“微信小
程序
...
malloc 段
错误
linux,(绝对难题)高手
帮忙
看看,malloc出线段
错误
程序
运行,malloc时竟然出现段
错误
,高手
帮忙
分析
一下
原因吧.我写的函数void de_eventip(char *buf, EVENT_DNODE *ptr){struct in_addr *q,*longip;HEAD *head;// q = (struct in_addr *)malloc(100 * sizeof(struct in_addr));head = (HEAD...
嵌入式段
错误
的3种调试方法汇总!
大家好,我是杂烩君。嵌入式C开发,或多或少都遇到段
错误
(segmentation fault )。之前我们有分享总线
错误
的例子:Linux软件开发中,总线
错误
的坑?替大家先踩一步段
错误
相比于总线
错误
,是一种更常见的
错误
。段
错误
是怎么产生的呢?段
错误
是因为访问不可访问的内存产生的。下面是一些典型的段
错误
产生的原因:访问不存在的内存地址访问只读的内存地址栈溢出内存越界……段错...
C语言运行顺利 结果显示
错误
,
帮忙
看看我这个C语言
程序
有什么
错误
,运行结果不正确...
C语言的最大特点是:功能强、使用方便灵活。C编译的
程序
对语法检查并不象其它高级语言那么严格,这就给编程人员留下“灵活的余地”,但还是由于这个灵活给
程序
的调试带来了许多不便,尤其对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的
错误
。看着有错的
程序
,不知该如何改起,本人通过对C的学习,积累了一些C编程时常犯的
错误
,写给各位学员以供参考。 1.书写标识符时,忽略了大小写字母的区别。 mai...
提问:jedis成功连接使用redis,但过了
一段
时间后又连接不上了,重启服务器后又可以连上
问题遇到的现象和发生背景 Redis是安装在腾讯云的Linux上的 可以正常连接,但是没有其他修改,
一段
时间(半个小时到一个小时左右)之后,又连接不上了,使用 firewall-cmd --reload重启
一下
防火墙后又能连接上了,求大佬们
分析
一下
问题相关代码,
请
勿粘贴截图 示例:使用jedis @Test void testRedis() { redisUtils.set("hho","hihi"); System.out.println(redisUtils.g
语言基础/算法/系统设计
16,748
社区成员
33,247
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章