12_Power

题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

保证base和exponent不同时为0

package com.hwx.swordToOffer._12_Power;

/*
 * 题目描述
	给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
	保证base和exponent不同时为0
 */
public class Solution {
	public static void main(String[] args) {
		System.out.println(Power(4, -1));
	}

	

		/**
		 * 1.全面考察指数的正负、底数是否为零等情况。
		 * 2.写出指数的二进制表达,例如13表达为二进制1101。
		 * 3.举例:10^1101 = 10^0001*10^0100*10^1000。
		 * 4.通过&1和>>1来逐位读取1101,为1时将该位代表的乘数累乘到最终结果。
		 */
	public static double Power(double base, int exponent) {
		int n;//记录exponent,使之为正
		double result = 1;//记录最终结果
		double curr = base;//当前的值
		if (exponent > 0) {
			n = exponent;
		} else if (exponent < 0) {
			if (base == 0) {
				throw new RuntimeException("分母不能为0");
			}
			n = -exponent;//取反,使之为正
		} else {//n==0
			return 1;//0的0次方
		}

		/*exponent为13时,二进制1101
		 *10^1101 = 10^0001 * 10^0100 * 10^1000。
		 *每移位一次,curr都要翻倍,即curr *= curr。
		 *如1000->0100,相差2倍,对应base底数差10^2,所以curr要平方,等到结算时(即1在末尾时)
		 *将相差2^3=8倍,
		 *
		 */
		while (n != 0) {
			if ((n & 1) == 1) {//逐一判断最后一位是否为1
				result *= curr;//为1就将结果累乘进result
			}
			n = n >> 1;//右移一位
			curr *= curr;//翻倍,不管最后一位是否为1都要翻倍。
		}

		return exponent >= 0 ? result : (1 / result);

	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: VisualBasic_PowerPacks12是一个用于Visual Basic开发环境的扩展工具集。它提供了一系列实用的控件和功能,可以帮助开发人员更快速、更便捷地开发Windows应用程序。 其中,最主要的控件包括: 1. ShapeContainer和Shape控件:可以通过简单的拖拽操作创建和管理各种形状,如椭圆、矩形、直线等,使应用程序界面更加丰富多样。 2. Chart控件:提供了丰富的图表类型,如柱状图、折线图、饼图等,可以用于数据可视化和分析。 3. Line和RectangleShape控件:用于在界面上绘制线条和矩形,可以用于高亮显示或分隔界面元素。 4. InkPicture控件:用于支持手写输入和图形绘制,可以用于制作签名板或涂鸦板等应用。 此外,PowerPacks还提供了一些辅助功能: 1. PrintForm控件:可以将整个窗体内容打印出来,用于制作简单的报表或快速打印窗体截图。 2. ShapeEditor工具:用于自定义和编辑ShapeControl的属性,可以按照需求调整形状的样式和外观。 3. DataRepeater控件:用于快速绑定和展示重复数据,适用于需展示大量相同格式数据的场景。 总之,VisualBasic_PowerPacks12是一个强大且易用的工具集,可以大大简化Windows应用程序的开发过程,提高开发效率。无论是初学者还是有经验的开发人员,都可以通过使用PowerPacks,快速实现各种功能丰富的Windows应用程序。 ### 回答2: VisualBasic PowerPacks 12是一个集成在Visual Studio中的软件开发工具包,它为开发人员提供了丰富的图形用户界面(GUI)组件和控件。这个工具包可以帮助开发人员轻松地创建各种桌面应用程序。 VisualBasic PowerPacks 12包含了许多有用的功能和控件,例如图表控件、数据输入控件、打印和报表功能、形状和线条绘制以及图像处理等。使用这些控件和功能,开发人员可以快速地实现应用程序的各种需求,例如可视化数据分析、数据输入和处理、报表生成、图形绘制和图像处理等。 图表控件是VisualBasic PowerPacks 12中的一个重要组件,它可以帮助开发人员轻松地创建各种图表,如柱形图、折线图、饼图等。开发人员只需要简单地配置一些属性和绑定数据,就可以快速地生成漂亮的图表。 数据输入控件是另一个强大的功能,它包括了文本框、按钮、列表框等常用控件,通过这些控件,开发人员可以在应用程序中实现用户输入和交互。 打印和报表功能是VisualBasic PowerPacks 12的一项重要功能,它可以帮助开发人员将应用程序中的数据生成为报表,并且支持打印和导出为其他格式,如PDF、Excel等。 此外,VisualBasic PowerPacks 12还提供了一些绘图功能,如绘制形状和线条,以及一些图像处理功能,如旋转、缩放和裁剪等,这些功能可以帮助开发人员实现一些特殊的图形和图像处理需求。 总而言之,VisualBasic PowerPacks 12是一个功能丰富的开发工具包,它提供了多种功能和控件,帮助开发人员快速地创建各种桌面应用程序,并且可以节省开发时间和精力。无论是新手还是有经验的开发人员,都可以通过使用VisualBasic PowerPacks 12来实现他们的开发需求。 ### 回答3: VisualBasic PowerPacks 12是一个用于Visual Basic开发环境的扩展包。它提供了许多额外的控件和工具,使开发者能够更轻松地创建并定制各种Windows应用程序。 PowerPacks 12包含了许多使用方便的控件,如Chart控件、ShapeContainer控件、DataRepeater控件等等。这些控件可以帮助开发者实现数据可视化、图表绘制和用户界面设计等功能。例如,Chart控件可以用来展示各种类型的图表,如柱状图、折线图和饼图等,而DataRepeater控件则能够简化数据绑定和显示的工作。 此外,VisualBasic PowerPacks 12还提供了一些辅助工具,如打印工具和报表工具。打印工具可以帮助开发者实现打印各种类型的文档和报表,而报表工具可以帮助开发者生成基于数据的报表。 总的来说,VisualBasic PowerPacks 12是一个非常有用的工具,可以帮助开发者更快速地构建各种Windows应用程序。无论是数据可视化、用户界面设计还是报表生成,PowerPacks 12都提供了一系列方便易用的控件和工具,大大简化了开发过程。通过使用PowerPacks 12,开发者可以更专注于应用程序的逻辑和功能,从而更高效地开发出高质量的应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值