语言-新手求帮忙看下这段代码的数据溢出问题,没有C币理解下(我是在CodeBlock10.05下运行的)

问题描述

新手求帮忙看下这段代码的数据溢出问题,没有C币理解下(我是在CodeBlock10.05下运行的)

#include
#include
#include
unsigned int Ex_secret[30]={11,4,120,75,170,204,90,59,78,49,//用0~255的数表示8位2进制,一共240位
148,248,190,137,0,9,17,91,174,105,45,124,177,205,57,97,194,155,120,36};
unsigned int K[30];//等式(6)迭代完后的Ki值集合
unsigned int C=0;//初始C的值
long double Q[7];

int i;
long n=262144;//n为图像大小,读取BMP文件时注意进行值传递
void main()
{
long double Ex_pow(int x, int y);
for(i=0;i
{
C=Ex_secret[i]^(C>>3|C<
}
for(i=0;i
{
K[i]=Ex_secret[i]^(C>>1|C<<7);
}
for(i=0;i<7;i++)
{
int j;
int s=0;
for(j=0;j<6;j++)
{
s=s+Ex_pow(256,j)*K[4*i+j];
}
long double W=n+Ex_pow(2,48);
Q[i]=(n+s)/W;
}
double x_u[7][2];
for(i=0;i<7;i++)
{
int j;
for(j=0;j<2;j++)
{
if(j==0)
x_u[i][j]=Q[i];
else
x_u[i][j]=0.5*Q[(i+1)%7];
}
}
//输出产生的(x,u)数对
for(i=0;i<7;i++)
{
int j;
for(j=0;j<2;j++)
{
if(j==0)
printf("%f ",x_u[i][j]);
else
printf("%fn",x_u[i][j]);

    }
}

}

long double Ex_pow(int x, int y)//幂函数
{
int i;
int s=1;
for(i=0;i<y;i++)
{
s=s*x;
}
return (s);
}

解决方案

long double Ex_pow(int x, int y)//幂函数
 {
 int i;
 int s=1;//改成double s = 1.;
 for(i=0;i<y;i++)
 {
 s=s*x;
 }
 return (s);
 }

时间: 2024-11-16 01:08:31

语言-新手求帮忙看下这段代码的数据溢出问题,没有C币理解下(我是在CodeBlock10.05下运行的)的相关文章

在指定的时间段清除定时器,大家帮忙看一下这段代码有什么问题?

问题描述 在指定的时间段清除定时器,大家帮忙看一下这段代码有什么问题? <script type='text/javascript'> var date_time = new Date(); var current_time = date_time.getHours() + ":" + date_time.getMinutes() + ":" + date_time.getSeconds(); if (current_time >= '7:20:0

帮忙看一下这段代码,WINCE下开发

问题描述 写了如下一小段程序,在wince下开发,用模拟器,运行的时候,提示SQLiteerror:nosuchtabletb_isbncj....望各位高手帮忙看一下usingSystem;usingSystem.Linq;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Form

高手帮忙看一下 这段代码有没有错误 错在那里

问题描述 stringkey=this.txtkey.Text.ToString();//获取新闻抓取的关键字Regexregtitle=newRegex(@"<title>(?<title>.*"+key+".*?)</title>",RegexOptions.Compiled);Matchmatchtitle=regtitle.Match(ver);stringtitle=matchtitle.Groups["tit

c语言-求帮忙看下为什么程序调用了西沟函数导致程序整个不能运行

问题描述 求帮忙看下为什么程序调用了西沟函数导致程序整个不能运行 写说明一下代码,代码主要是要在控制台模拟浏览器对tab和网页前进后退的一些操作 再说明一下问题,问题在于brwosertab类和webinformation类的西沟函数,一旦在这两个类的西沟函数里面写上delete 指针名字:整个程序就不能运行了,最关键的是我不太明白为什么程序要调用这两个函数,因为我感觉我都是动态对象啊.最后说明一下,我很菜,只有一点java编程的经验,所以第一次应对c++我真的需要一些帮助.谢谢你们了! 解决方

帮忙看下这段代码,为啥那个afafafa没有打印出来?

问题描述 帮忙看下这段代码,为啥那个afafafa没有打印出来? public class Demoe { public void f() { System.out.println("Throwing MyException from f()"); } public static void main(String[] args) { Demoe aa = null; try { aa.f(); throw new NullPointerException("afafafa&q

java 7-求第m个到第n个素数之间的素数和,求帮忙看下哪里错了 提取数组求和的时候总是在数组中出现0

问题描述 求第m个到第n个素数之间的素数和,求帮忙看下哪里错了 提取数组求和的时候总是在数组中出现0 public class All { public static void main(String[] args) { int a[] = new int[200]; //将前200个数中的素数提取出来放入数组a中 for(int i = 1 ; i < 200 ; i ++){ boolean isPrime = true; for(int k = 2 ; k < i ; k ++){ if

jsp连接数据库一直报错,求帮忙看下,谢谢

问题描述 jsp连接数据库一直报错,求帮忙看下,谢谢 <%@page language=""java"" import=""java.util.*"" pageEncoding=""utf-8""%><%@page import=""java.sql.*""%><html><body><% St

java后台逻辑问题-求大神帮忙解释下这段代码。

问题描述 求大神帮忙解释下这段代码. 这是一个从表添加页面的代码.currentx是当前页数.我想问下 st st1 st2 st3是什么意思,就是split(:):这个方法我不是很清楚什么意思,还有下面的!ss.equals("t") t是什么. 传参什么的我晓得. @RequestMapping("/addProcess.do") public String addProcessMaintenance(String currentx, String ids, S

代码分析-JAVA 求大神帮看下这段代码 怎么修改 救命啊

问题描述 JAVA 求大神帮看下这段代码 怎么修改 救命啊 真心看不懂 public static char[] a(char[] paramArrayOfChar) { char[] arrayOfChar1 = new char[12]; char[] arrayOfChar2 = new char[12]; arrayOfChar2[0] = '?'; arrayOfChar2[1] = '?'; arrayOfChar2[2] = 'o'; arrayOfChar2[3] = '/';