dephi 编码只能导入10位 问题出在哪?

作者&投稿:慎钓 (若有异议请与网页底部的电邮联系)
dephi编程_高手帮帮忙~

268435456 * 8 = 16进制(8000|0000)

8000|0000 16进制

1000|0000|0000|0000 2进制前32位(4个字节)

268435456 * 7 = 16进制(7000|0000)

7000|0000 16进制

0111|0000|0000|0000 2进制前32位(4个字节)

longint类型占内存64位,也就是8个字节

那么最前面一位表示正负号,那么268435456 * 7正好前面的0表示正数,所以没有溢处
268435456 * 8 而这个呢,最高位变成1也就是负数了,所以无法表示你要表达的正数,所以溢出。

除非你用无符号64位整数就能正确计算268435456 * 8这个结果。

因为我对Delphi不太懂,不知道有没有这种类型。

longint 最大正数表示范围

01111111111111111111111111111111 2进制

7FFFFFFF 16进制

2147483647 10进制

而268435456*8=2147483648刚好超过2147483647 所以溢出

##################

我刚才网上查了一下,最大只有int64,没有无符号64位整数。

所以要计算那个值,必须分段计算,用结果用字符串保存显示。

随便下载高精度计算器的源代码,看看原理照着写一个。

程序结果为101000.不知你要它为多少?

看一下你的数据库相关字段宽度设置是否是10,如果是的话,把宽度设置增加大点就可以


平罗县15188059140: PHP下请问如何使得form下的input只能输入指定位数的的数字,比如10位.如果非10位数字则提示.采用js -
戏菡复方: <form name="frm" id="frm" onsubmit="return check();"><br> <input type="text" name="num" id="num" /><br> <input type="submit" name="sub" value="提交" /><br></form><br><script><br>function check(){<br> var num = ...

平罗县15188059140: 某编码方案用10位二进制数对字符进行编码,最多可表示多少个字符?为什么 -
戏菡复方: 2的10次幂=1024 最多可表示1024个字符

平罗县15188059140: delphi编译的32位Dll怎么转成64位Dll -
戏菡复方: 1、没有源代码不要想着转换移植的事情;2、如果是接口组件(比如com dll),支持有限的32位和64位互通(通过进程服务器),但是想转可执行文件为64位的,不可能了.3、32位程序支持在64位系统上运行.但是只能以32位程序方式执...

平罗县15188059140: 我的编号有十二位,网上只能填十位,我该怎么办 -
戏菡复方: 这只能说明网上需要填的编号不是你现在的编号,连位数都对不上.

平罗县15188059140: 有没有输入是十位输出是三位的译码器? -
戏菡复方: 按输入十位,输出就最少应该四位,才可以满足.三位的排列状态最多是八种,也就是只能八位,所以有三八译码,十位输入就有两位状态重合,不确定.这是现在的观点,也许以后科技发展新的理论有可能,现在不行

平罗县15188059140: 在哈夫曼编码中,若编码的长度只允许小于等于4,则除了已经编码的01和10外,最多还可以有多少个字符编码? -
戏菡复方: 8个. 达到这个最大值的条件是,除了已经编码的01和10之外,其它编码的字符也就是叶子节点都出现在第4层上.可以画一下这棵树看一看. 还有一种比较形像容易计算的算法,就是算不以01和10开头的四位二进制数的个数,呵呵.

平罗县15188059140: eclipse怎么设置编码格式 -
戏菡复方: Eclipse设置编码分为两种情况,第一种情况设置workspace工作间的编码,第二种情况设置指定Android Project的编码,两种情况的设置步骤如下:1. 第一种情况,workspace工作间编码设置好了,当前workspace下创建的所有项目默认使用设...

平罗县15188059140: 药品电子监管码为什么只能输16位 -
戏菡复方: 药品电子监管码只能输16位,看看是不是输入错误了,有20位呢.1.第1位吗:药品的标志位,确定为“8”;2.随后的6位:药品的产品编码,用来在药监码百中描述药品的生产度企业和药品信息;根据使用情况,监管网平台为入网药品的每种包装规格自动分配产品编码 ;3.其后的9位:药品的编码序号,用来在药监码中描述药品的每一个独立包装;4.最后的4位码:验证码,标志位与产品编码组合可以形成与药品本位码的对照表;

平罗县15188059140: 编码器中,10位数需要几个二进制进行编码 -
戏菡复方: 2^34 = 17 179 869 184 2的34次方刚好超过十位数,所以34位二进制数字能表示所有的10位数

平罗县15188059140: c语言中用链表怎么限制输入电话号码只能为11位数 -
戏菡复方: 可以用以下的代码保证输入的数字x一定是一个1开头的11位数:long long x=0; while(x<=1e10 || x>=2e10) scanf("%lld",&x);

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网