社区
C语言
帖子详情
请问:哪一位大侠有在32位机器上实现64位除法的程序呀 C码的.
cpaal
2007-08-26 08:52:58
请问:哪一位大侠有在32位机器上实现64为除法的程序呀
{
unsigned int hight;
unsigned int low;
}
如果可以给出小数的前2位最好,如果没有就算了 我再自己想办法,
我就100分,倾力奉献.
...全文
716
17
打赏
收藏
请问:哪一位大侠有在32位机器上实现64位除法的程序呀 C码的.
请问:哪一位大侠有在32位机器上实现64为除法的程序呀 { unsigned int hight; unsigned int low; } 如果可以给出小数的前2位最好,如果没有就算了 我再自己想办法, 我就100分,倾力奉献.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cpaal
2007-09-21
打赏
举报
回复
用的是vxworkx 给硬件遍程序. 没有64位的,不是windows.
既然有写的就都给分把. 算是缘分.
唯一一个给出程序的 无论是否正确 都多给点把.
等了很多天都没有人给 程序只好按照 前几楼说的 自己写了.呵呵已经搞定.
chen_de_sheng
2007-09-19
打赏
举报
回复
顶楼上的 double
Treazy
2007-09-18
打赏
举报
回复
奇怪了,double为什么不用呢?
expter
2007-09-18
打赏
举报
回复
?
iwillalwaysloveyou
2007-09-08
打赏
举报
回复
32位x86 cpu直接支持64位除法,用汇编很少的几行指令
Hunter8212
2007-09-07
打赏
举报
回复
MARK了!
expter
2007-09-07
打赏
举报
回复
mark
xsUMBRO
2007-09-07
打赏
举报
回复
typedef signed __int64 INT64, *PINT64;
Int64 值类型表示值介于 -9,223,372,036,854,775,808 到 +9,223,372,036,854,775,807 之间的整数。
Int64 为比较此类型的实例、将实例的值转换为它的字符串表示形式以及将数字的字符串表示形式转换为此类型的实例提供了相应的方法。
但,在 32 位 Intel 计算机上分配 64 位值不是原子操作;即该操作不是线程安全的。这意味着,如果两个人同时将一个值分配给一个静态 Int64 字段,则该字段的最终值是无法预测的。
有关格式规范代码如何控制值类型的字符串表示形式的信息,请参见格式化概述。此类型实现接口 IComparable、IFormattable 和 IConvertible。使用 Convert 类进行转换,而不是使用此类型的 IConvertible 显式接口成员实现。
楼主怎么遇到这个问题的,具体什么环境?
chai2010
2007-09-06
打赏
举报
回复
以前做rsa的时候用的一个函数:
// 计算(u*v)%m
unsigned mul_mod(unsigned u, unsigned v, unsigned z)
{
// 如果u*v没有溢出, 则直接计算
if((u*v)/u == v) return (u*v)%z;
// 进行长乘法(结果为64位)
unsigned u0, v0, w0;
unsigned u1, v1, w1, w2, t;
u0 = u & 0xFFFF; u1 = u >> 16;
v0 = v & 0xFFFF; v1 = v >> 16;
w0 = u0*v0;
t = u1*v0 + (w0 >> 16);
w1 = t & 0xFFFF;
w2 = t >> 16;
w1 = u0*v1 + w1;
// x为高32位, y为低32位
unsigned x = u1*v1 + w2 + (w1 >> 16);
unsigned y = u*v;
// 进行长除法(被除数为64位)
for (int i = 1; i <= 32; i++)
{
t = (int)x >> 31; // All 1's if x(31) = 1.
x = (x << 1) | (y >> 31); // Shift x || y left
y <<= 1; // one bit.
if((x|t) >= z) { x -= z; y++; }
}
return x; // y为商, x为余数
}
星羽
2007-08-27
打赏
举报
回复
double
_int64
laiwusheng
2007-08-27
打赏
举报
回复
c interface and implement
cpaal
2007-08-27
打赏
举报
回复
晕 有什么资料好学的吗?
100分呢 也不少了 兄弟门就没有自己原先保存过的关于这个方面的代码吗?
sunlin7
2007-08-27
打赏
举报
回复
直接用__int64 a, b, c;声明变量,使用c = a / b;即可,但是仅整除,没有小数点。
cpaal
2007-08-27
打赏
举报
回复
晕 标准C里没有 _int64.
用的是vxworks
iambic
2007-08-26
打赏
举报
回复
32位机器上也有64位的整数和浮点数。
agaric
2007-08-26
打赏
举报
回复
可以学习一下任意精度算法,不只64位
sunlin7
2007-08-26
打赏
举报
回复
数据结构与算法的书上有这样类型的算法,用分部除法。自己耐心写吧,很简单的。
计算机组成原理疑难知识点
计算机组成原理 疑难知识点与错题笔记 目录 第一章 计算机系统概述 1 1.1. 只有当
程序
执行时才将源
程序
翻译成
机器
语言,并且依次只能翻译一行语句,边翻译边执行的是什么
程序
?把汇编语言源
程序
转变为
机器
语言
程序
的过程是什么? 1 1.1.1. 将高级语言源
程序
转换为
机器
级目标代
码
文件的
程序
是? 1 1.1.2. 编译
程序
和解释
程序
的区别? 1 1.2. 冯·诺依曼机的基本工作方式是什么? 1 1.3. MAR和MDR的位数分别为? 1 1.4. 运算器中有哪些硬件? 2 1.4.1. 地址寄存器在运算器中吗
《
机器
学习实战》——支持向量机
一 什么是SVM?SVM的英文全称是Support Vector Machines,我们叫它支持向量机。支持向量机是我们用于分类的一种算法。让我们以一个小故事的形式,开启我们的SVM之旅吧。在很久以前的情人节,一位
大侠
要去救他的爱人,但天空中的魔鬼和他玩了一个游戏。魔鬼在桌子上似乎有规律放了两种颜色的球,说:”你用一根棍分开它们?要求:尽量在放更多球之后,仍然适用。”于是
大侠
这样放,干的不错?然后...
小白学习
机器
学习---第六章:SVM算法原理(1)
SVM的英文全称是Support Vector Machines,我们叫它支持向量机。支持向量机是我们用于分类的一种算法。让我们以一个小故事的形式,开启我们的SVM之旅吧。 在很久以前的情人节,一位
大侠
要去救他的爱人,但天空中的魔鬼和他玩了一个游戏。 魔鬼在桌子上似乎有规律放了两种颜色的球,说:”你用一根棍分开它们?要求:尽量在放更多球之后,仍然适用。” 于是
大侠
这样放,干的不错? 然后魔鬼,又在桌上放了更多的球,似乎有一个球站错了阵营。显然,...
计算机组成原理
计算机系统有硬件和软件两部分组成,软件又可分为系统软件和应用软件 硬件:看得见摸得着的电子元器件,如主机,外部设备 软件:人们事先编制的具有特殊功能的
程序
程序
通常存放在计算机主存储器或者辅存里 直接执行
机器
语言的
程序
:实际
机器
M(
机器
语言
机器
) 符号式的
程序
设计语言:汇编语言(汇编语言
机器
称为虚拟
机器
,实际不存在,使人们感受到存在的具有翻译功能的
机器
,先将汇编语言翻译成
机器
语言,
ARM 经典300 问
第1 章 体系结构第1 问:Q:
请问
在初始化CPU 堆栈的时候一开始在执行mov r0, LR 这句指令时处理器是什么模式A:复位后的模式,即管理模式.第2 问:Q:请教:MOV 中的8 位图立即数,是怎么一回事 0xF0000001 是怎么来的A:是循环右移,就是一个0—255 之间的数左移或右移偶数位的来的,也就是这个数除以4一直除, 直到在0-255 的范围内它是整数就说明是可以的!A:8
C语言
70,022
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章